简介:许多朋友问如何在电影背景中以Django的形式获得多个选择框架。本文的首席CTO笔记开始为您的参考做出详细的答案。我希望这对每个人都会有所帮助!让我们一起看看!
复选框的名称设置是相同的。当您在后台获得它时:request.request.getList('name')很好
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('aprent_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提交修改后,文章信息将是错误的。
当您分类类别时,您将不提供汽车的价值。当您循环汽车时,您不提供类别的价值。当然,当A标签的HREF属性是不可避免地会缺少参数值。根据您的逻辑,您应该使用嵌套循环,如下:
{for all_category%的类别}
{car_brands%的汽车}%}
a href =“ https://www.shouxicto.com/article/?car= {{car.id}} item = {{category.id}}” span {car.car_name}/a
{%endfor%}
{%endfor%}
{for all_products.object_list%}中的产品%}
! - 产品信息显示---
{%endfor%}
最后,我建议一个很棒的免费Django教程Liu Jiang的Django教程
类addbookform(forms.form):
def __init __(self,*args,** kwargs):
Em
self.fields ['作者']。选择= [(作者。
self.fields ['publisher']。选择= [('',','-----------')]+[publisher.id,public.name)for public()]
Em
两行形式有问题。如果您想再次偿还,则应给出一个QuerySet而不是列表。如果要测试,可以先注释此行,然后提交以查看是否可以通过。如果您通过它,您将在这里。我认为我不应该错。
首先,在django视图函数中,传递obj_list = [1,2,3]这样的列表。
def show_data(请求):
obj_list = [1,2,3]
经过
返回render_to_response('index.html',{'obj_list':obj_list})
然后在index.html模板文件中,一些代码如下
选择
{obj_list%的obj%}
选项值=“ {forloop.counter}}” {{obj}}/option
{%endfor%}
/选择
这样,模板可以自动显示传递的数据。
如果您仍然不了解,这是非常详细的。访问Django的官方网站以查看该文档的相应版本。
结论:以上是如何在主要CTO注释背景下获得Django形式的多选择框架的全部内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并遵循此站点