Django 注意知识点(一)
程序员文章站
2023-11-09 22:16:10
本篇概述 Django Admin后台显示 多对多字段(如何) Django 模板 显示 多对多字段(如何) models代码背景 一,Django Admin后台显示 多对多字段 于admin.py文件中 二,Django 模板 显示 多对多字段 先与 视图 views.py文件中 然后,(url ......
本篇概述
django admin后台显示 多对多字段(如何)
django 模板 显示 多对多字段(如何)
models代码背景
1 class tag(models.model): 2 name = models.charfield(max_length=20, verbose_name="名称") 3 4 class work(models.model): 5 tag = models.manytomanyfield(tag, verbose_name="标签")
一,django admin后台显示 多对多字段
于admin.py文件中
1 @admin.register(work) 2 class workadmin(admin.modeladmin): 3 '''展示tags''' 4 def show_tags(self, obj): 5 return [tag.name for tag in obj.tag.all()] 6 # 这里运用了python的堆导式 7 show_tags.short_description = "标签" # 设置表头 8 list_display = ["show_tags"]
二,django 模板 显示 多对多字段
先与 视图 views.py文件中
1 class indexview(view): 2 def get(self, request): 3 works = work.objects.all()[:2] 4 5 context = { 6 'works': works, 7 } 8 return render(request, 'index.html', context)
然后,(urls.py中的配置就不多说了,直接进如何在模板中取得)
1 {% for work in works %} 2 {% for tag in work.tag.all %} 3 {# 下面即 该作品对应的标签 #} 4 {{tag.name}} 5 {% endfor %} 6 {% endfor%}