欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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 注意知识点(一)

 

二,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%}    

Django 注意知识点(一)