100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Django框架admin后台数据库管理

Django框架admin后台数据库管理

时间:2019-11-11 16:55:36

相关推荐

Django框架admin后台数据库管理

创建超级用户

django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用

django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用

使用步骤:

创建后台管理帐号:

$ python3 manage.py createsuperuser

$ python3 manage.py createsuperuserUsername (leave blank to use 'teenjeen'): teenjeen # 此处输入用户名Email address: teenjeen666@ # 此处输入邮箱Password: # 此处输入密码(密码要复杂些,否则会提示密码太简单)Password (again): # 再次输入重复密码Superuser created successfully.

用注册的帐号登陆后台管理界面

后台管理的登录地址:http://127.0.0.1:8000/admin

管理自定义数据表

若要自己定义的模型类也能在/admin后台管理界中显示和管理,需要将自己的类注册到后台管理界面

添加自己定义模型类的后台管理数据表的,需要用admin.site.register(自定义模型类)方法进行注册

配置步骤如下:

在应用app中的admin.py中导入注册要管理的自定义模型类, 如:from . import models

调用admin.site.register()方法进行注册

如: 在bookstore/admin.py添加如下代码对Book类进行管理

# file: bookstore/admin.pyfrom django.contrib import admin# Register your models here.from . import models...admin.site.register(models.Book) # 将Book类注册为可管理页面

修改后台Models的展现形式

在admin后台管理数据库中对自定义的数据记录都展示为XXXX object类型的记录,不便于阅读和判断

在用户自定义的模型类中可以重写def __str__(self):方法解决显示问题,如:

在自定义模型类中重写__str__(self)方法返回显示文字内容:

class Book(models.Model):...def __str__(self):return "书名" + self.title

模型管理器类

作用:

为后台管理界面添加便于操作的新功能。

说明:

后台管理器类须继承自django.contrib.admin里的ModelAdmin

模型管理器的使用方法:

<应用app>/admin.py里定义模型管理器类

class XXXX_Manager(admin.ModelAdmin):......

注册管理器与模型类关联

from django.contrib import adminfrom . import modelsadmin.site.register(models.YYYY, XXXX_Manager) # 注册models.YYYY 模型类与 管理器类 XXXX_Manager 关联

示例:

# file : bookstore/admin.pyfrom django.contrib import adminfrom . import modelsclass BookAdmin(admin.ModelAdmin):list_display = ['id', 'title', 'price', 'market_price']admin.site.register(models.Book, BookAdmin)

进入http://127.0.0.1:8000/admin/bookstore/book/ 查看显示方式和以前有所不同

模型管理器类ModelAdmin中实现的高级管理功能

list_display 去控制哪些字段会显示在Admin 的修改列表页面中。list_display_links 可以控制list_display中的字段是否应该链接到对象的“更改”页面。list_filter 设置激活Admin 修改列表页面右侧栏中的过滤器search_fields 设置启用Admin 更改列表页面上的搜索框。list_editable 设置为模型上的字段名称列表,这将允许在更改列表页面上进行编辑。其它参见/en/1.11/ref/contrib/admin/

数据库表管理

修改模型类字段的显示名字

模型类各字段的第一个参数为verbose_name,此字段显示的名字会在后台数据库管理页面显示

通过verbose_name字段选项,修改显示名称示例如下:

title = models.CharField(max_length = 30,verbose_name='显示名称')

通过Meta内嵌类 定义模型类的属性及展现形式

模型类可以通过定义内部类class Meta来重新定义当前模型类和数据表的一些属性信息

用法格式如下:

class Book(models.Model):title = CharField(....)class Meta:1. db_table = '数据表名'- 该模型所用的数据表的名称。(设置完成后需要立马更新同步数据库)2. verbose_name = '单数名'- 给模型对象的一个易于理解的名称(单数),用于显示在/admin管理界面中3. verbose_name_plural = '复数名'- 该对象复数形式的名称(复数),用于显示在/admin管理界面中

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。