码迷,mamicode.com
首页 > 其他好文 > 详细

django之后台系统(admin)

时间:2020-03-12 17:06:05      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:后台   应用   pattern   站点   管理   自动   tle   models   com   

一、admin后台系统的引入

from django.contrib import admin
from django.urls import path, include
from . import views

urlpatterns
= [ path(admin/, admin.site.urls), path(‘‘, views.index, name=index), path(user/, include("User.urls")), path(article/, include("Article.urls")), path(collection/, include("Collection.urls")), path(getcode/, views.send_code, name=code) ]

每个新建项目的主目录下的urls.py文件的路由映射表中都有path(‘admin/‘, admin.site.urls),访问一下出现下面界面

技术图片

 我们如何获取用户名和密码呢?

二、Django管理页面的介绍

  为你的员工或客户生成一个用户添加,修改和删除内容的后台是一项缺乏创造性和乏味的工作。因此,Django 全自动地根据模型创建后台界面。

  Django 产生于一个公众页面和内容发布者页面完全分离的新闻类站点的开发过程中。

  站点管理人员使用管理系统来添加新闻、事件和体育时讯等,这些添加的内容被显示在公众页面上。

  Django 通过为站点管理人员创建统一的内容编辑界面解决了这个问题。 管理界面不是为了网站的访问者,而是为管理者准备的。

三、admin创建用户:

技术图片

 

使用创建的用户登录

 技术图片

 

 四、管理界面本地化

  不同国家的用户可以设置适用于本国的管理界面,通过在settings.py文件中进行设置

LANGUAGE_CODE = zh-hans  # 语言

TIME_ZONE = Asia/Shanghai  # 时区

五、向admin中注册模型

  将各个应用的模型类注册在本应用内的admin.py文件中进行注册

from django.contrib import admin
from .models import Article, Category

# Register your models here.
admin.site.register(Article)
admin.site.register(Category)

  后台展示

技术图片

 

 

  将模型类在admin.py中注册过后,刷新管理页面,就可以对数据表中数据进行增删改查操作了。

六、自定义管理界面

  Django提供了admin.ModelAdmin类,通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式。

  列表页属性:

    list_display:显示字段,可以点击列头进行排序

    list_filter:过滤字段,过滤框会出现在右侧

    search_fields:搜索字段,搜索框会出现在上侧

    list_per_page:分页,分页框会出现在下侧

  添加修改页属性:

    fields:属性的先后顺序

    fieldsets:属性分组

    注意:上面两个属性,二者选一。

from django.contrib import admin
from .models import Article, Category


# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
    # 列表页
    # 列表页显示顺序
    list_display = ["title", "category", "created_time", "latest_edit", "author"]
    # 是否可以被点击
    list_display_links = ["title", "category", "created_time", "author"]
    # 过滤
    list_filter = ["category"]
    # 查找
    search_fields = ["category", "author"]
    list_per_page = 1
    
    # 编辑页
    # fields = ["title", "body", "category", "author"]
    # 分组时,如果漏点那个字段,就不会显示
    fieldsets = [
        ("一组", {
            "fields": ["title"]
        }),
        ("二组", {
            "fields": ["author"]
        })
    ]
    
    
admin.site.register(Article, ArticleAdmin)
admin.site.register(Category)

django之后台系统(admin)

标签:后台   应用   pattern   站点   管理   自动   tle   models   com   

原文地址:https://www.cnblogs.com/loveprogramme/p/12470352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!