首页 > 代码库 > Django---管理界面简单设置

Django---管理界面简单设置

1、设置可选字段

为了设置某一个字段是可选的,不如说email,只需要修改其相关的模型,也就是在model.py中修改模型,将email=models.EmailField(blank=True),也就是添加blank=True。

这句代码告诉Django,允许email字段的输入为空,Django中字段的默认blank=false,即是不允许输入为空。


note:django在生成sql语句的时候,会默认的在每一个字段的后面添加一个NOT NULL的约束,防止产生空字符串和NULL混淆的问题。但是同时却引入了新的问题,对于日期类型和数字类型的数据,直接设置blank=true的时候,很多数据库都会抛出异常,这是因为插入空的字符串和日期类型或者数字类型是不相符的。如果真的想为日期或者数字类型的字段插入空的字符串的时候,需要在blank=True,null=True。添加了null=True,相当于更改的数据库的结构,需要修改数据库中的相关的字段。可以运行manage.py dbshell命令来修改数据库:

ALTER TABLE table_name ALTER COLUMN colunm_name DROP NOT NULL;

2、自定义字段标签

添加verbose_name

note:可以在固定的位置隐式的引用这个字段,直接将它放在第一个参数就可直接引用。但是却对于ManyToMany和ForeignKey的字段并不实用,在这样的字段中必须显示的引用字段。

3、自定义列表

添加ModelAdmin类,这个类是自定义管理工具的关键。可以在admin.py中修改,参考如下:

**class AuthorAdmin(admin.ModelAdmin):**
    **list_display = (‘first_name‘, ‘last_name‘, ‘email‘)**
添加搜索框
class AuthorAdmin(admin.ModelAdmin):
    list_display = (‘first_name‘, ‘last_name‘, ‘email‘)
    **search_fields = (‘first_name‘, ‘last_name‘)**
这样就可以在界面的上面添加一个模糊搜索框。

添加过滤器

**class BookAdmin(admin.ModelAdmin):**
    **list_display = (‘title‘, ‘publisher‘, ‘publication_date‘)**
    **list_filter = (‘publication_date‘,)**
**admin.site.register(Book, BookAdmin)**


Django---管理界面简单设置