精华内容
下载资源
问答
  • Django后台-源码

    2021-02-16 12:33:40
    Django后台
  • Django 后台

    千次阅读 2017-08-08 15:09:24
    https://django-intro-zh.readthedocs.io/zh_CN/latest/part2/#_31. 在app里面修改admin.py#引入models里面的哪个类并进行注册,就能在后台管理哪个类了 from django.contrib import admin from .models import ...

    后台的内容这里的介绍比较详细:
    https://django-intro-zh.readthedocs.io/zh_CN/latest/part2/#_3

    1. 在app里面修改admin.py

    #引入models里面的哪个类并进行注册,就能在后台管理哪个类了
    from django.contrib import admin
    from .models import Article
    
    admin.site.register(Article)

    定义 Model 的时候 写一个 unicode 函数(或 str函数)来保证后台显示的时候不是显示object而是直接显示名字

    2. 在列表显示与字段相关的其它内容,添加搜索,筛选功能

    #list_display来挑选要显示出来的字段,要新建一个继承自admin.ModelAdmin的类来承载
    from django.contribute import admin
    from .models import Article
    class ArticleAdmin(admin.ModelAdmin):
            list_display = ('title','pub_date','update_time',)
            #搜索功能:search_fields,可以按照 标题或内容搜索
            search_fields = ('title','content')
            筛选功能:list_filter 根据文章的发布时间去筛选
            list_filter = ('pub_date')
    
    admin.site.register(Article,ArticleAdmin)
    #也可以用来显示非字段内容,或者字段相关的内容
    
    class Person(models.Model):
        first_name = models.CharField(max_length=50)
        last_name = models.CharField(max_length=50)
    
        def my_property(self):
            return self.first_name + ' ' + self.last_name
        my_property.short_description = "Full name of the person"
    
        full_name = property(my_property)
    from django.contrib import admin
    from .models import Article, Person
    
    
    class ArticleAdmin(admin.ModelAdmin):
        list_display = ('title', 'pub_date', 'update_time',)
    
    
    class PersonAdmin(admin.ModelAdmin):
        list_display = ('full_name',)
    
    admin.site.register(Article, ArticleAdmin)
    admin.site.register(Person, PersonAdmin)

    3. 自定义管理页面样式

    https://django-intro-zh.readthedocs.io/zh_CN/latest/part2/#_9

    4. 自定义后台特殊需求的功能

    #定制加载的列表, 根据不同的人显示不同的内容列表,比如输入员只能看见自己输入的,审核员能看到所有的草稿,这时候就需要重写get_queryset方法
    
    #该类实现的功能是如果是超级管理员就列出所有的,如果不是,就仅列出访问者自己相关的
    class MyModelAdmin(admin.ModelAdmin):
        def get_queryset(self,request):
            qs = super(MyModelAdmin, self).get_queryset(request)
            if request.user.is_superuser:
                return qs
            else:
                return qs.filter(author=request.user)
    
    #定制搜索功能(django 1.6及以上才有)
    #queryset 是默认的结果,search_term 是在后台搜索的关键词
    
    class PersonAdmin(admin.ModelAdmin):
        list_display = ('name', 'age')
        search_fields = ('name')
    
       def get_search_results(self,request,queryset,search_term):
           queryset,use_distinct = super(PersonAdmin, self).get_search_results(request,queryset,search_term)
           try:
               search_term_as_int = int(search_term)
               queryset |= self.model.objects.filter(age=search_term_as_int)
            except:
                pass
            return queryset, use_distinct
    #修改保存时的一些操作,可以检查用户,保存的内容等,比如保存时加上添加人
    
    from django.contrib import admin
    
    class ArticleAdmin(admin.ModelAdmin):
        def save_model(self,request,obj,form,change):
                obj.user = request.user
                obj.save()
    #其中obj是修改后的对象,form是返回的表单(修改后的),当新建一个对象时 change = False, 当修改一个对象时 change = True
    #如果需要获取修改前的对象的内容可以用
    from django.contrib import admin
    
    class ArticleAdmin(admin.ModelAdmin):
        def save_model(self, request, obj, form, change):
            obj_original = self.model.objects.get(pk=obj.pk)
            obj.user = request.user
            obj.save()
    #那么又有问题了,这里如果原来的obj不存在,也就是如果我们是新建的一个怎么办呢,这时候可以用try,except的方法尝试获取,当然更好的方法是判断一下这个对象是新建还是修改,是新建就没有 obj_original,是修改就有
    
    from django.contrib import admin
    
    class ArticleAdmin(admin.ModelAdmin):
        def save_model(self, request, obj, form, change):
            if change:# 更改的时候
                obj_original = self.model.objects.get(pk=obj.pk)
            else:# 新增的时候
                obj_original = None
    
            obj.user = request.user
            obj.save()
    #删除时做一些处理
    
    from django.contrib import admin
    
    class ArticleAdmin(admin.ModelAdmin):
        def delete_model(self, request, obj):
            """
            Given a model instance delete it from the database.
            """
            # handle something here
            obj.delete()

    好困啊
    推荐阅读:
    http://code.ziqiangxuetang.com/django/django-admin.html

    展开全文
  • Django后台

    2016-10-24 09:59:00
    Django后台,只需要添加少量代码就可以实现一个强大的后台功能 1、新建项目(略) 2、新建一个APP(略) 3、修改APP的下的models.py #coding:utf8 class Article(models.Model): title = models.CharField(u'...

    Django的后台,只需要添加少量代码就可以实现一个强大的后台功能

    1、新建项目(略)

    2、新建一个APP(略)

    3、修改APP的下的models.py

    #coding:utf8

    class Article(models.Model):
      title = models.CharField(u'标题', max_length=256)
      content = models.TextField(u'内容')
      pub_date = models.DateTimeField(u'发表时间', auto_now_add=True, editable = True)
      update_time = models.DateTimeField(u'更新时间',auto_now=True, null=True)

      def __unicode__(self):# 在Python3中用 __str__ 代替 __unicode__
        return self.title

    如何兼容python2.x和python3.x呢?

    # coding:utf-8
    from __future__ import unicode_literals

    from django.db import models
    from django.utils.encoding import python_2_unicode_compatible

      @python_2_unicode_compatible
      class Article(models.Model):
      title = models.CharField('标题', max_length=256)
      content = models.TextField('内容')
      pub_date = models.DateTimeField('发表时间', auto_now_add=True, editable = True)
      update_time = models.DateTimeField('更新时间',auto_now=True, null=True)
      def __str__(self):
        return self.title

    python_2_unicode_compatible 会自动做一些处理去适应python不同的版本,本例中的 unicode_literals 可以让python2.x 也像 python3 那个处理 unicode 字符,以便有更好地兼容性。

     

    4、添加APP到settings.py下的INSTALLED_APPS里

    INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'APP',
    )

    5、同步数据库

    python manage.py syncdb

    可以看到:

    Creating tables ...

    Creating table django_admin_log

    Creating table auth_permission

    Creating table auth_group_permissions

    Creating table auth_group

    Creating table auth_user_groups

    Creating table auth_user_user_permissions

    Creating table auth_user

    Creating table django_content_type

    Creating table django_session

    Creating table blog_article

     

    You just installed Django's auth system, which means you don't have any superusers defined.

    Would you like to create one now? (yes/no): yes

    Username (leave blank to use 'tu'): tu

    Email address:

    Password:

    Password (again):

    Superuser created successfully.

    Installing custom SQL ...

    Installing indexes ...

    Installed 0 object(s) from 0 fixture(s)

    如果不提示创建管理员账户,可以手工创建(Django1.9不会自动创建)

    python manage.py createsuperuser

    6、修改admin.py

    进入 APP 文件夹,修改 admin.py 文件(如果没有新建一个),内容如下 

    from django.contrib import admin
    from .models import Article
    admin.site.register(Article)

    只需要三行代码,就实现了一个强大的后台

    7、启动服务器

    Python manage.py runserver 0.0.0.0:80

    打开浏览器输入链接地址,输入用户名和密码,就可以看到

    点击 Articles,动手输入 添加几篇文章,就可以看到:

     

    8、在列表显示与字段相关的其它内容

    后台已经基本上做出来了,可是如果我们还需要显示一些其它的fields

    from django.contrib import admin
    from .models import Article
    class ArticleAdmin(admin.ModelAdmin):
      list_display = ('title','pub_date','update_time',)
    admin.site.register(Article,ArticleAdmin)

    list_display 就是来配置要显示的字段的,当然也可以显示非字段内容,或者字段相关的内容,比如:

    class Person(models.Model):
      first_name = models.CharField(max_length=50)
      last_name = models.CharField(max_length=50)
      def my_property(self):
        return self.first_name + ' ' + self.last_name
      my_property.short_description = "Full name of the person"
      full_name = property(my_property)

    在admin.py中

    from django.contrib import admin
    from .models import Article, Person
    class ArticleAdmin(admin.ModelAdmin):
      list_display = ('title', 'pub_date', 'update_time',)
    class PersonAdmin(admin.ModelAdmin):
      list_display = ('full_name',)
    admin.site.register(Article, ArticleAdmin)
    admin.site.register(Person, PersonAdmin)


      

    转载于:https://www.cnblogs.com/chaoe/p/5991909.html

    展开全文
  • django后台管理系统的使用检查配置文件检查根urls.py文件启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车注册后台管理系统超级管理1.create # 创建普通用户,密码明文(不推荐)2.create_user # 创建...

    django后台管理系统的使用检查配置文件

    检查根urls.py文件

    启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车

    注册后台管理系统超级管理

    1.create # 创建普通用户,密码明文(不推荐)

    2.create_user # 创建普通用户,密码密文(推荐)

    3.createsuperuser # 创建超级用户(推荐)

    #命令语句

    python manage.py createsuperuser

    Username (leave blank to use '7981-python'):root#不输入默认使用'7981-python'

    Email address:#邮箱地址选填

    Password:#最少8位,不能是纯数字/字符

    Password(again):#确认密码,在输一遍

    Superuser created successfully.#表示超级用户注册成功

    登录账户和密码

    添加数据库表到后台管理系统,简单查看

    设置后台管理系统,字段值可为空

    注意: 后台管理系统字段值设置为空的效果是,在数据库写入空的字符串,一般情况下,blank=True,null=True是一起使用的,防止数据出错 修改后台管理系统的字段显示名

    设置某字段是否可被后台管理系统修改

    提示填写字段值信息

    设置后台管理系统可修改字段值选项

    修改表名信息

    富文本编辑器的使用

    # 富文本编辑器作用: 编写出来漂亮,带格式的文本信息

    1.安装模块

    - pip3 install django-tinymce==2.6.0

    2.settings.py配置文件 INSTALLED_APPS 添加编辑器应用

    INSTALLED_APPS = (

    ......,

    'tinymce', #注册富文本编辑器

    )

    3.在settings.py中添加编辑配置

    TINYMCE_DEFAUL_CONFIG = {

    'theme':'advanced', # 富文本功能

    'width':600, # 宽

    'height':400, # 高

    }

    4.根urls.py中配置url (要使用路由分发)

    urlpatterns = [

    ......,

    url(r'^tinymce/',include('tinymce.urls')),

    ]

    5.models中应用,注册使用admin就可以使用了

    以上就是本次介绍的全部知识点内容,大家如有任何疑问可以联系脚本之家小编。

    展开全文
  • django后台管理系统的使用检查配置文件检查根urls.py文件启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车注册后台管理系统超级管理#命令语句python manage.py createsuperuserUsername (leave blank...

    django后台管理系统的使用

    检查配置文件

    检查根urls.py文件

    启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车

    注册后台管理系统超级管理

    #命令语句

    python manage.py createsuperuser

    Username (leave blank to use '7981-python'):root#不输入默认使用'7981-python'

    Email address:#邮箱地址选填

    Password:#最少8位,不能是纯数字/字符

    Password(again):#确认密码,在输一遍

    Superuser created successfully.#表示超级用户注册成功

    登录账户和密码

    添加数据库表到后台管理系统,简单查看

    设置后台管理系统,字段值可为空

    注意: 后台管理系统字段值设置为空的效果是,在数据库写入空的字符串,一般情况下,blank=True,null=True是一起使用的,防止数据出错

    修改后台管理系统的字段显示名

    设置某字段是否可被后台管理系统修改

    提示填写字段值信息

    设置后台管理系统可修改字段值选项

    修改表名信息

    富文本编辑器的使用

    # 富文本编辑器作用: 编写出来漂亮,带格式的文本信息

    1.安装模块

    - pip3 install django-tinymce==2.6.0

    2.settings.py配置文件 INSTALLED_APPS 添加编辑器应用

    INSTALLED_APPS = (

    ......,

    'tinymce', #注册富文本编辑器

    )

    3.在settings.py中添加编辑配置

    TINYMCE_DEFAUL_CONFIG = {

    'theme':'advanced', # 富文本功能

    'width':600, # 宽

    'height':400, # 高

    }

    4.根urls.py中配置url (要使用路由分发)

    urlpatterns = [

    ......,

    url(r'^tinymce/',include('tinymce.urls')),

    ]

    5.models中应用,注册使用admin就可以使用了

    作 者:郭楷丰

    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 【推荐】一下。您的鼓励是博主的最大动力!

    自 勉:生活,需要追求;梦想,需要坚持;生命,需要珍惜;但人生的路上,更需要坚强。带着感恩的心启程,学会爱,爱父母,爱自己,爱朋友,爱他人。

    展开全文
  • Django后台管理

    2020-02-17 17:47:45
    Django后台管理 本地化 本地化需要执行的就是修改 所在的地区和时间 在项目配置的setting.py目录中进行修改 如图所示: Asia/Shanhai: 表示使用上海时区的时间作为后台管理的时间 en-hans: 表示使用汉字作为语言...
  • 主要介绍了Django后台admin的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 本篇文章主要介绍了Python中Django 后台自定义表单控件,其实 django 已经为我们提供了一些可用的表单控件,比如:多选框、单选按钮等,有兴趣的开业了解一下。
  • Django后台Admin开发

    2019-12-31 16:05:43
    Django是目前最流行的Python Web框架, 其中最著名的莫过于是Django强大的Admin后台管理系统,被誉为是Django的灵魂,本课程围绕Django最核心的后台管理以项目实现的方式进行讲解 ,帮助学员从零入门Django开发
  • 搭建django后台环境

    千次阅读 2017-10-21 15:18:41
    搭建django后台框架
  • Django后台管理实战简介
  • django后台管理

    2019-01-19 20:32:45
    django后台管理 本地化 语言和时区的本地化 修改settings.py文件 #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-hans' #TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Shanghai' ​ 创建管理员 执行前需要迁移 ...
  • 在本篇文章里小编给大家整理的是一篇关于Django后台管理系统的图文使用教学内容,需要的朋友们参考下。
  • 今天小编就为大家分享一篇Django 后台获取文件列表 InMemoryUploadedFile的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 以上这篇解决Django后台ManyToManyField显示成Object的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:Django ORM多对多查询方法(自定义第三张表&...
  • 今天小编就为大家分享一篇Django后台获取前端post上传的文件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 今天小编就为大家分享一篇对django后台admin下拉框进行过滤的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 今天小编就为大家分享一篇解决django后台管理界面添加中文内容乱码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • django后台导入excel文件

    千次阅读 2017-10-31 10:11:00
    django后台导入excel文件 1.django 如何从后台上传excel中批量解析数据 要从django后台导入的excel中批量解析数据,举一个例子,我们向后抬批量导入svn历史数据数据格式 假设excel表中有4列,每列分别是...
  • 基于Python搭建Django后台管理系统

    万次阅读 多人点赞 2018-01-05 10:54:33
    一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac 基于Python搭建Django...
  • 今天给大家介绍django教程(http://www.maiziedu.com/course/python/307-3024/)中的django后台中的一些小技巧,我们都知道...Django后台的默认语言是英语,可以修改为中文。在settings.py中添加: LANGUAGE_CODE = 
  • django后台admin没有样式 原因是admin所需的js ,css等静态文件虽然都在django的安装目录内,但是我们没有在配置文件里设置一个正确的指向。 部署采用的是centos+Django+uwsgi+nginx 1.在settings.py里面最后一行添加...
  • Django后台管理-admin

    2019-12-31 15:04:14
    django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register(导入的模型类) 注册方式二该方法是Django1.7的版本新增的功能: from django....
  • django-adminlte-ui,基于 adminlte 的 django 后台模板,页面基本全部兼容
  • 以上这篇解决django后台样式丢失,css资源加载失败的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:django使用图片延时加载引起后台404错误django...
  • django后台显示中文

    2018-01-27 09:20:26
    刚安装django后台登录进去之后是英文的,对于类似小编中文强迫症的就想改成中文  1.打开settings.py 2.修改里面的LANGUAGE_CODE为'zh-Hans',重启刷新后就变成了简体中文。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,555
精华内容 3,822
关键字:

django后台