简介:今天,首席CTO Note将与您分享Django如何完成完整选择功能的相关内容。如果您能解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
标准列表不应复杂。从本质上讲,它分为两部分:接口操作和数据库查询。
数据库查询,只需在查询中查询时添加切片
接口操作做得很好。
1.最初的意图:公司拥有自己的域名服务器(公司内的域名需要通过公司的域名服务器进行解析),并且部门中数百个域名之间的分析关系尚不清楚。没有平台显示域名和VIP/ VIP/ IP,VIP和IP以及其他关系,如下所示:
2,域名管理系统的功能:
3,正面 - 端UI页面显示:
4,功能简介:
4.1:域名操作:
显示Weibo搜索团队的所有域名,并可以添加/删除/更改/检查域名(用户许可管理)
修改的表单已被验证,域名是否是动态域名选择,“域名”和IP,“运算符”和“机室之间的交换”
增加了域名表单,以及域名是否为动态域名选择,“域名”和IP,“运算符”和“机室之间的互换”,“ VIP/IP”以及在“ drop -down”列表中。属性”“动态域名”交换
此域名是一个超链接,单击以显示动态域名或VIP或IP的域名
4.2:域名的反向解析/批处理操作
显示从IP到域名的映射
批处理删除操作:
增加记录页面的删除,支持完整选择当前页面的批次
当批处理删除出现超过或等于2个机室时,无法成功执行它,并且所有数据(IP/Computer Room/域名)表明,有提示显示显示失败的显示
批处理中只有一个IP,无法成功执行,并显示了所有此类数据(IP/Computer Room/域名)。
在批处理成功删除操作后,升起所选域名及其相应的IP之间的关系,并且未删除IP或域名。
每个批处理删除都有一个操作记录(记录中的操作时间,已删除的IP和域名已经运行)
搜索或使用Lucene。研究,您可以尽快开始。不可能使用WHOOSH来实现多个字段和复杂的逻辑搜索。
包含我没有使用过它,但是现在它支持字段索引,它可以支持多个字段。原则上,它应该是MySQL字段上的单词和索引。
此外,某些数据库本身还支持一些简单的搜索,但是数据量会议效率低下。
主页菜单是根据用户的权威动态生成的,不同的菜单对应于不同的功能视图。Menu添加,删除和更改。
2.路线
1.html
1. Django管理员不适合最终用户使用
Django管理员是为管理员而不是最终用户设计的。Django管理员的存在是为了促进管理员添加修改并删除数据和管理站点任务。
2.列表显示
如上图所示,由于模型的默认文本是XXX对象,因此“管理员列表”页面中的默认显示也是XXX对象。如果要显示更多有用的信息,我们可以设置以下设置:
为模型编写__unicode __()方法
如果要在列表页面中显示更多项目,则需要使用list_display
__unicode()__示例:
#models.py
来自django.db导入模型
班级文章(Models.Model):
title = models.charfield(max_length = 100)
slug = model.charfield(max_length = 100)
content = model.textfield()
is_publy = model.boolenfield(默认= false)
def __unicode __(self):
返回self.title
#admin.py
来自django.contrib导入管理
从.models导入文章
admin.Site.Register(文章)
结果:
如果要显示其他项目:
#admin.py
来自django.contrib导入管理
从.models导入文章
类articleadmin(admin.modeladmin):
list_display =('title','iS_perlished')
Admin.Site.Register(文章,Articleadmin)
结果:
3.将动作添加到ModelAdmin
我们可以将方法或函数添加到modladmin中,以使管理接口更符合我们的需求。
例如,我们希望在管理接口中显示一个清晰的URL,但是当我们在模型中定义get_absolute_url()方法时,django admin为我们提供了完全不同的URL。SOWE可以通过以下方法定义URL:
#admin.py
来自django.contrib导入管理
从django.core.urlresolvers导入反向
来自django.utils.html导入format_html
从.models导入文章
类articleadmin(admin.modeladmin):
list_display =('title','iS_perbored',),),),)
readonly_fields =('show_url',)
def show_url(self,实例):
url = reververs('trict_detail',kwargs = {'pl':instance.pk})
响应= format_html(“”“”“,url)
返回响应
show_url.short_descripting = u“文章预览”
#显示html标签
#对于用户提交的数据,切勿这样设置!
show_url.allow_tags = true
请注意,如果错误使用会带来隐藏的安全危害,则允许_tags属性,默认值为false。如果设置为true,
在管理员中允许使用HTML标签。因此,我们使用的原则是,对于用户输入的信息,切勿设置laster_tags = true。
只有在系统生成内容而用户无法修改的内容时,他们才能使用ally_tags = true。
4.在多用户编辑器环境中使用list_edistable
Django管理员为我们提供了修改列表页面上的模型属性的功能,以便管理员一次可以修改多个属性。如果管理员只有一个人
然后没有问题,但是在多用户环境中,会有一个严重的潜在问题。因为在列表页面上提交的修改信息记录了位置,而不是模型的主要密钥。
例如,默认情况下,“文章列表”页面在创建顺序中安排了默认值。用户A打开文章列表页面并开始修改。同时,用户B添加了新文章。目前,此时,此时,此时,此时
用户A提交修改后,文章信息将是错误的。
复选框的名称设置是相同的。当您在后台获得它时:request.request.getList('name')很好
结论:以上是首席CTO引入的Django的所有内容,请注意Django如何执行完整选择函数。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。