产生背景 当 ForeignKey 数据过多,手动在后台添加时不方便找到自己的想要数据,遂想要一个可以搜索检索数据功能。...检索文档 https://stackoverflow.com/questions/30214469/in-django-admin-how-to-add-filter-or-search-for-foreign-key-select-box...配置 admin class AnchorBindAgentAdmin(admin.ModelAdmin): list_display = ["agent", "anchor", "proportion...list_per_page = 20 # 每页数量 readonly_fields = ["start_time"] autocomplete_fields = ["anchor"] # 带有搜索框的外键选择框...配置后效果 注意事项 被搜索的字段需要在其对应对的模型的 admin 中加入到 search_field
在django的开发中,很多时候我们希望app在admin中显示成我们想要的中文名,而不是显示默认的app_label名称。...'blog' 我们可以在通过设置 verbose_name 字段,来指定app在后台显示的名称。...在导入app时,django会检查每个在INSTALLED_APPS中的app的default_app_config变量,如果没有设置,django会使用基类AppConfig,因此我们只需要在init.py...所在的路径填写 通过以上两步,即可实现自定义app在admin中的显示名称。...经过以上步骤的操作,在自带的admin 和 xadmin 中都能显示出来 ? 自带的admin中的显示效果 ?
在 django 自带的管理后台中,app name 未设置的情况下默认显示为新建 app 时的英文名,把 英文名 改成 中文名的方法: 1. app 的 目录下新建 apps.py # joyoo\blog...\apps.py from django.apps import AppConfig class BlogConfig(AppConfig): name = 'blog' # 模型名称...verbose_name = "A 博客管理" 2. app 目录下的 _init__.py 增加一行 apps 的配置:default_app_config = 'blog.apps.BlogConfig...重启 django 4. 效果
# 环境 1. python: 3.6.8 2. django==1.11.22 # app 目录下新建一个 apps.py,添加内容:(我的目录结构多了一层 apps) from django.apps...import AppConfig class BlogConfig(AppConfig): name = 'apps.blog' verbose_name = "博客管理" # 我的目录结构...:(我的目录结构多了一层 apps) # django 2.x 可能需要在 app 下的 __init__.py 添加:(我的目录结构多了一层 apps) default_app_config = "
第一步 在以上的文件里面写你想要展示的中文 第二部 将那个方法在init文件里面导入,重新启动项目就可以了
在这个表单中,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Django在admin站点中,自动地将所有的外键关系展示为一个select框。...再添加一些搜索功能: search_fields = ['question_text'] 这行代码在修改列表的顶部添加了一个搜索框。...自定义管理站点外观 很明显,在每一个admin页面坐上顶端都显示“Django 管理”是感觉很荒诞,它仅仅是个占位文本。利用Django的模板系统,可以易修改它。...想要重写一个模板文件,只需要做和重写base_site.html相同的操作就行——将它从默认的目录拷贝到你自定义的目录中,然后修改它。...我们的投票应用不太复杂,因此不需要自定义admin模板。但是如果它变得越来越复杂,因为某些功能而需要修改Django的标准admin模板,那么修改的模板就比修改项目的模板更加明智。
上面那特定的更改使得 “Publication date” 字段在 “Question” 字段之前: 仅有两个字段不会令你印象深刻,但是对于有许多字段的管理表单时,选择一个直观 的排序方式是一个重要的实用细节...刚才所说的有许多字段的表单,你可能想将表单中的字段分割成 fieldsets :: class PollAdmin(admin.ModelAdmin): fieldsets = [...Add choice” 表单 看起来像这样: 该表单中,Poll 字段是一个包含了数据库中每个 poll 的选择框。...Django 知道 ForeignKey 在管理网站中以 框显示。在本例中,选择框中仅存在一个 poll 。 另外请注意 Poll 旁边的 “Add Another” 链接。...我们的 poll 应用不是很复杂并不需要自定义管理模板。但是如果它变得更复杂 而且为了一些功能需要修改 Django 的标准管理模板,修改应用模板将是更 明智的选择,而不是修改项目模板。
,作者的邮箱地址允许输入一个空值 4.自定义字段标签 在编辑页面中,每个字段的标签都是从模块的字段名称生成的。...这个类是自定义管理工具的关键,其中最基本的一件事情是允许你指定列表中的字段。 ...我们只自定义了一项:list_display,它是一个字段名称的元组,用于列表显示。当然,这些字段名称必须是模块中有的。...首先,我们先自定义字段顺序。 默认地,表单中的字段顺序是与模块中定义是一致的。...解决这个问题的办法是使用`` raw_id_fields`` 选项。它是一个包含外键字段名称的元组,它包含的字段将被展现成`` 文本框`` ,而不再是`` 下拉框`` 。
这些应用都需要数据表,比如 django.contrib.admin是后台管理,那么就必须要有后台管理员。那么就要求数据库中必须有类似user表的来维护管理员数据。...Django 通过 migrate命令 根据 不同的app 来创建不同的表,执行命令 ? 当看到 如下反馈就表示执行成功: ? 我们可以查看数据库,会发现多了许多的表,如图所示: ?...Django 管理后台 Django 为我们提供了功能强大的后台。在后台中,我们可以利用Django自带的功能对定义的对象进行添加,修改,和删除。...models.AutoField :默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。...admin 用一个选择框, (三个可选择的值:“Unknown”, “Yes” 和 “No” ) 来表示这种字段数据。
的 标签页名称和头名称 在任意app下的admin.py中 键入如下代码即可: from django.contrib import admin admin.site.site_header = "后台管理..." admin.site.site_title = '后台管理' 重启项目、刷新页面后(已经变成我们刚才所写的名称了) 2.修改分类名称为中文 在要修改名称的app下的apps.py中键入如下代码: from...# 显示的名称 verbose_name = '公共' 在要修改名称的app下的init.py中键入如下代码: from django.apps import AppConfig # 要修改名称的...): 4.设置显示字段的各种:(看代码和注释) from django.contrib import admin from . import models # 模型的管理器 @admin.register...(models.Article) class BlogAdmin(admin.ModelAdmin): # listdisplay设置要显示在列表中的字段(id字段是Django模型的默认主键)
BlogAdmin(admin.ModelAdmin): #listdisplay设置要显示在列表中的字段(id字段是Django模型的默认主键) list_display...一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。 过滤器如果是外键需要遵循这样的语法:本表字段__外键表要显示的字段。...8.修改app的显示名称 Dajngo在Admin后台默认显示的应用的名称为创建app时的名称。...我们如何修改这个app的名称达到定制的要求呢,其实Django已经在文档里进行了说明。 从Django1.7以后不再使用app_label,修改app相关需要使用AppConfig。...最终生成的结果就是可以选择所有的省,也可以选择所有的市,这并不合理,正确的应该是在选择某个省的时候在市的下拉列表里只有该省的城市。 而,django原生并不能做到这么智能。
"my_app/myexample.jpg" %}" alt="My image"/> 二、中间件 是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出...True actions_on_bottom = True list_display 出现列表中显示的字段 列表类型 在列表中,可以是字段名称,也可以是方法名称,但是方法名称默认不能排序 在方法中可以使用...hContent.admin_order_field = 'hname' 标题栏名称:将字段封装成方法,为方法设置short_description属性 在models.py中为HeroInfo类增加方法...list_per_page = 10 search_fields 搜索框 列表类型,表示在这些字段上进行搜索 只能接收字段 class HeroAdmin(admin.ModelAdmin):...search_fields = ['hname'] 增加与修改页选项 fields:显示字段的顺序,如果使用元组表示显示到一行上 class HeroAdmin(admin.ModelAdmin):
定义与使用Admin管理类 Django提供的Admin站点的展示效果可以通过自定义ModelAdmin类来进行控制。...list_filter = ['hbook', 'hgender'] 2)在浏览器中刷新效果如下图: ? g. 搜索框 属性如下,用于对指定字段的值进行搜索,支持模糊查询。...调整站点信息 Admin站点的名称信息也是可以自定义的。...使用Admin站点上传图片 进入Admin站点的图书管理页面,选择一个图书,能发现多出来一个上传图片的字段 ?...选择一张图片并保存后,图片会被保存在static_files/media/booktest/目录下。 在数据库中,我们能看到image字段被设置为图片的路径 ?
Django自动为每个设置了admin的对象创建添加,删除和修改的权限。...null 如果是True,Django会在数据库中将此字段的值置为NULL,默认值是False blank 如果为True时django的 Admin 中添加数据时可允许空值,可以不填。...default 默认值 verbose_name Admin中字段的显示名称,如果不设置该参数时,则与属性名。...一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择) 一个学院信息表有多个学生的信息表 再比如文章和作者之间的关系。一个文章只能由一个作者编写,但是一个作者可以写多篇文章。...在实际网站中,可能需要保存用户的许多信息,但是有些信息是不经常用的。
我们使用Django的Admin二次定制一个图形化界面,首先我们把语言设置为中文简体....,HostDB则是你的表的名称 @admin.register(HostInfoDB) class MyAdmin(admin.ModelAdmin): admin.site.site_title...="后台管理" admin.site.site_header = "自动化监控平台" # list_display = 你需要展示的字段应该写在这里,此处是数据库中的字段 list_display...,就是无法修改的字段 #readonly_fields = ("hostCPU","hostMEM",) # 定义Ping检测显示字段 @admin.register(HostPingInfo...主页中的展示效果如下.
Django通过model不可以创建数据库,但可以创建数据库表,一下是创建表的字段以及表字段的参数。...一、字段 1、models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key...1、null=True 数据库中字段是否可以为空 2、blank=True django的 Admin 中添加数据时是否可允许空值 3、primary_key = False 主键,对AutoField...中字段的显示名称 9、name|db_column 数据库中的字段名称 10、unique=True 不允许重复 11、db_index = True 数据库索引 12、editable=True...2、一对一,models.OneToOneField(OneModel) 应用场景:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择)。
如果设置了choices ,默认的表单将是一个选择框而不是标准的文本框,而且这个选择框的选项就是choices 中的选项。...有几个可选参数: years 一个可选的列表/元组,用于”年“选择框。 默认为包含当前年份和未来9年的一个列表。 months 一个可选的字典,用于”月“选择框。...如果tuple 为具有3个字符串元素的list 或empty_label,每个选择框将具有它们自定义的空选项。 ...根据您的需求,包含相关字段的自定义用户模型可能是您更好的选择,但是,与项目应用程序中的默认用户模型的现有关系可能有助于额外的数据库加载。...ModelAdmin.search_fields search_fields 设置启用Admin 更改列表页面上的搜索框。 此属性应设置为每当有人在该文本框中提交搜索查询将搜索的字段名称的列表。
admin 的注册 最简单的模型注册 使用装饰器来注册 ModelAdmin 的详细参数 查看源码 常规属性的使用 自定义字段 重写函数 后台全局属性 admin 的拓展 使用 bootstrap_admin...ModelAdmin 的详细参数 查看源码 为了更好的了解 Django 的管理类有哪些基本属性,我们可以去 Django 的源码中查找这个类的源代码,看一下它有哪些默认的属性和方法。...'show_content') # 设置需要添加a标签的字段 list_display_links = ('id', 'show_content') # 使用方法来自定义一个字段,并且给这个字段设置一个名称...定义了这个函数之后,可以使用 .short_description 来给这个自定义的字段添加一个字段名称,然后就可以把这个函数当做一个字段添加到 list_display 中展示到后台了,展示的效果如图...后台全局属性 可以通过以下设置后台的名称: # 自定义管理站点的名称和URL标题 admin.site.site_header = '网站管理' admin.site.site_title = '博客后台管理
class UserProfileAdmin(admin.ModelAdmin): pass # 将UserProfile注册进我们的admin中, 并为它选择管理器UserProfileAdmin...' ] 然后打开eduline/urls.py文件,把urls中默认的admin修改为xadmin: from django.urls import path import xadmin urlpatterns...Xadmin的使用介绍 正如前面你所知道的,Xadmin是基于Django的admin来开发的,所以Xadmin也继承了许多admin的用法,下面就分别介绍一下它们的使用情况: 因为我们之前在admin..., 'send\_type', 'send\_time' # 一次显示你想出现的多行数据, # 这里面的字段都是你在前面数据库中定义的,请保持数据的一致 然后还可以配置过滤器,搜索框等,这里就不一一说明...自定义文件信息 打开Pycharm,点击一下主菜单的File,选择下拉的Settings,选择Editor,再选择Code Style,选择文件模板: 看到5的信息了么: #!
数据库中字段【年】部分是否可以建立唯一索引 verbose_name Admin中显示的字段名称 blank Admin中是否允许用户输入为空...Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '...Django Admin中的错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息 b....2.Admin中修改错误提示 # admin.py from django.contrib import admin from model_club import...,有一个单选的下拉框(可以被重复选择) 例如:创建用户信息时候,需要选择一个用户类型【普通用户】【金牌用户】【铂金用户】等。
领取专属 10元无门槛券
手把手带您无忧上云