Python web模版Django-17 模型之 后台管理创建的表

        将新创建的表注册到Django,就可以在后台用界面操作,其方法如下:

step1: 打开sign下的admin.py文件,加入如下注册代码。

from django.contrib import admin
from sign.models import Event, Guest

# Register your models here.
admin.site.register(Event) # 通知管理工具为这些模块提供操作界面
admin.site.register(Guest)
step2:运行程序,登陆localhost/admin/,可以看到后台已经为sign application



Step3:通过上面的UI,我们可以方便的给表Events,Guests添加数据条目;添加完毕后,点击"Events"或"Guests", 可以看到当前的已有的数据,只是字段并没有完全显示出来。


step4:为了在这里显示更多的表字段,我们更新一下admin.py。 注意:list_display列表中的字段需要是“表中的字段”,“id"(这个Django会自动创建,我们在models.py无需写),“外键”等,可以参看models.py上自己定义的表类属性。

from django.contrib import admin
from sign.models import Event, Guest

# Register your models here.
class EventAdmin(admin.ModelAdmin):
    list_display = ['name', 'status', 'start_time', 'create_time', 'limit', 'id']

class GuestAdmin(admin.ModelAdmin):
    list_display = ['realname', 'phone', 'email', 'sign', 'create_time', 'event', 'event_id']

admin.site.register(Event, EventAdmin) # 通知管理工具为这些模块提供操作界面
admin.site.register(Guest, GuestAdmin)

step5: 重新刷新,可以看到更多字段展现出来


step6: 给管理UI添加搜索栏,过滤器

search_fileds = ['name', 'address'] 

如果搜索"小米  北京", 等同与sql : WHERE (name ILIKE '%小米%' OR address ILIKE '%小米%') AND (name ILIKE '%北京%' OR address ILIKE '%北京%') 

from django.contrib import admin
from sign.models import Event, Guest


# Register your models here.
class EventAdmin(admin.ModelAdmin):
    list_display = ['name', 'address', 'status', 'start_time', 'create_time', 'limit', 'id']
    search_fields = ['name', 'address']  # 搜索栏
    list_filter = ['status', 'address']  # 过滤器

class GuestAdmin(admin.ModelAdmin):
    list_display = ['realname', 'phone', 'email', 'sign', 'create_time', 'event', 'event_id']
    search_fields = ['realname', 'phone']
    list_filter = ['sign']

admin.site.register(Event, EventAdmin) # 通知管理工具为这些模块提供操作界面
admin.site.register(Guest, GuestAdmin)


不知道为什么,CSDN突然没法贴图了,重新登陆也不行。第六步的效果就是在第五步的基础上,增加了搜索栏和过滤器的UI。这一篇先写到这。




猜你喜欢

转载自blog.csdn.net/pansc2004/article/details/80498442
今日推荐