- A+
所属分类:Django学习
所有的网站都会有前台和后台,前台用于访问,后面用于管理员管理网站(添加网站内容,修改网站内容),之前做的DEDE仿站教程 做的内容就是前台的内容,而后台的内容基本上没怎么涉及。
上图为Django默认的后台,很简单。
那么如何把我们建设好的APP的数据记录在后台呢?
操作流程
- 导入APP中的Models
- from cms.models import *
- 注册APP中的字段(User为字段)
- admin.site.register(User)
全部字段添加完成后,刷新页面
- list_display,列表中显示更多内容
- class Linksadmin(admin.ModelAdmin): # Linksadmin自定义名称
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') # 需要列表中显示的内容
- fields 只显示指定的字段(相反的有exclude,去除某字段)
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') #在列表中显示的字段
- fields =('title', 'description', 'callback_url',) # 只显示这三个字段
- exclude = ('date_publish') # 不显示这个字段
- fieldsets 显示部分信息,不重要或者高级设置默认隐藏
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') #在列表中显示的字段
- fieldsets = (
- (None, {
- 'fields': ('title', 'description', 'callback_url') #默认展示的内容
- }),
- ('默认选项', {
- 'classes': ('collapse',), # 隐藏定义,不可修改
- 'fields': ('index',) #如果参数是一个,请在参数后加入,号,否则报错
- }),
- )
- list_display_links 列表中内容,显示为链接,或都不为链接
- # 友情链接显示更多
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') #在列表中显示的字段
- list_display_links = ('title', 'description', 'callback_url', 'date_publish', 'index') #默认的情况下只有点击tit才可以进入内容编辑,使用后定义的字段都可以点击进行内容编辑
- list_display_links = None #全部不可以点击
- list_editable,对部分内容实现在列表中直接编辑
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') #在列表中显示的字段
- list_editable = ('index',) #排序内容进行,列表页编辑,index字段被定义为排序字段
- list_filter,在列表页根据字段来筛选数据
- # 友情链接显示更多
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') #在列表中显示的字段
- list_filter = ('date_publish', 'callback_url') # 根据时间,跟网址做筛选
- list_per_page ,在列表页显示多少条内容
- # 友情链接显示更多
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') #在列表中显示的字段
- list_per_page = 1 # 每一页列表页只显示一条数据
- search_fields,根据设定的字段在列表页进行搜索
- # 友情链接显示更多
- class Linksadmin(admin.ModelAdmin):
- list_display = ('title', 'description', 'callback_url', 'date_publish', 'index') # 在列表中显示的字段
- search_fields = ['title'] # 根据tit字段搜索内容
补充说明:这里是目前来看我能用上的,更多的请查看:https://docs.djangoproject.com/en/1.10/ref/contrib/admin/
额外说明
在上面的导航栏上面,总是能看到Blog这个的文字,这个是APP的名称,那么如何修改这个名称了?
在项目下APP下的__init__.py文件中添加以下内容
- # encoding:utf-8
- from os import path
- from django.apps import AppConfig
- VERBOSE_APP_NAME = u'博客'
- def get_current_app_name(file):
- return path.dirname(file).replace('\\', '/').split('/')[-1]
- class AppVerboseNameConfig(AppConfig):
- name = get_current_app_name(__file__)
- verbose_name = VERBOSE_APP_NAME
- default_app_config = get_current_app_name(__file__) + '.__init__.AppVerboseNameConfig'
如果你有更好的方法,请告诉我,谢谢。