Django模板之基本的 for 循环 和 List内容的显示方式

工程结构

views.py

def home(request):
  TutorialList = ["HTML", "CSS", "jQuery", "Python", "Django"]
  return render(request, 'home.html', {'TutorialList': TutorialList})

url.py

home2.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>基本的 for 循环 和 List内容的显示</title>
</head>
<body>
   <h1>教程列表:</h1>
  {% for i in TutorialList %}
  <h1>{{ i }}</h1>
  {% endfor %}
</body>
</html>

效果展示

补充知识:django获取某一个字段的列表,values/values_list/flat

如下所示:

class Building(models.Model):
  corporation = models.ForeignKey('company.Corporation', verbose_name=u'学校', related_name='buildings')
  number = models.CharField(u'楼栋编号', max_length=10, unique=True, db_index=True)
  create_time = models.DateTimeField(u'创建时间', auto_now_add=True) 

获取Building的number字段列表

In [1]: from apps.dormitory.models import Building 

In [2]: buildings = Building.objects.values('number') 

In [3]: buildings
Out[3]: [{'number': u'1'}, {'number': u'2'}, {'number': u'3'}, {'number': u'4'}, {'number': u'5'}] 

In [4]: buildings_ = Building.objects.values_list('number') 

In [5]: buildings_
Out[5]: [(u'1',), (u'2',), (u'3',), (u'4',), (u'5',)] 

In [6]: buildings_list = Building.objects.values_list('number', flat=True) 

In [7]: buildings_list
Out[7]: [u'1', u'2', u'3', u'4', u'5'] 

从以上代码可以看出:

values方法可以获取number字段的字典列表。

values_list可以获取number的元组列表。

values_list方法加个参数flat=True可以获取number的值列表。

以上这篇Django模板之基本的 for 循环 和 List内容的显示方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python列表删除和多重循环退出原理详解

    在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子: 列表删除里面的坑 比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,100],我想去掉6,可以这样写: nums=[1,6,6,3,6,2,10,2,100] for n in nums: if n==6: nums.remove(n) nums.sort() print(nums)#输出结果:[1, 2, 2, 3, 6, 10, 100] 排序显示后列表中还有一个6

  • Python返回数组/List长度的实例

    其实很简单,用len函数: >>> array = [0,1,2,3,4,5] >>> print len(array) 6 同样,要获取一字符串的长度,也是用这个len函数,包括其他跟长度有关的,都是用这个函数. 以上这篇Python返回数组/List长度的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Django模板之基本的 for 循环 和 List内容的显示方式

    工程结构 views.py def home(request): TutorialList = ["HTML", "CSS", "jQuery", "Python", "Django"] return render(request, 'home.html', {'TutorialList': TutorialList}) url.py home2.html <!DOCTYPE html> <

  • Django模板标签{% for %}循环,获取制定条数据实例

    有时候,为了获取查询结果的部分数据,需要对变量进行一些处理,在网上查了一圈,只发现了这两个方法: 返回查询结果的切片 在返回给前端的结果中,通过切片来取得想要的数据: pictures = Post.objects.filter(status='published')[:8] 如[:8],但这种操作比较片面,会将返回结果限制住,有时候不利于其他的操作使用 2.使用{% if %}标签和forloop.counter变量来获取: <h3>最新博文</h3> {% for pictur

  • 基于Django模板中的数字自增(详解)

    Django框架的模板提供了{% for %} 标签来进行循环 例如对集合进行循环是比较简单的 {% for row in v1 %} <div>{{row.name}}</div> {% endfor %} 但是在Django中,并不直接支持形如"int i = 0;i<100;i++" 这样的循环,Django有自己的自增方法 假设v1内有2个元素 1,从1开始正向自增 结果1,2 {% for row in v1 %} <div>{{fo

  • python Django模板的使用方法

    模板是一个文本,用于分离文档的表现形式和内容. 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签). 模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档. 来一个项目说明 1.建立MyDjangoSite项目具体不多说,参考前面. 2.在MyDjangoSite(包含四个文件的)文件夹目录下新建templates文件夹存放模版. 3.在刚建立的模版下建模版文件user_info.html <html> <meta http-equiv=

  • 解决Django模板无法使用perms变量问题的方法

    前言 本文主要给大家介绍了关于Django模板无法使用perms变量的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 解决方法: 首先,在使用Django内置权限管理系统时,settings.py文件要添加 INSTALLED_APPS添加: 'django.contrib.auth', MIDDLEWARE添加: 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.au

  • python Django模板的使用方法(图文)

    模版基本介绍模板是一个文本,用于分离文档的表现形式和内容. 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签). 模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档.来一个项目说明1.建立MyDjangoSite项目具体不多说,参考前面.2.在MyDjangoSite(包含四个文件的)文件夹目录下新建templates文件夹存放模版.3.在刚建立的模版下建模版文件user_info.html 复制代码 代码如下: <html>    <

  • django模板语法学习之include示例详解

    前言 在很多网站中,基本上的都会有一个开头和一个结尾,在每一个网页中都会显示.相对于这种的来说,在Django中,最好的方法就是使用include的标签,在每一个模板中都加入这个开头和结尾的标签. include标签使用 假如我们有以下模板index.html,代码为: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>

  • 简单了解Django模板的使用

    模板标签include的使用 {%include"police/module/carousel.html"withimgs=imgsdiv_id='#carousel-index'%} 此处carousel.html为需要利用的模板文件,这里主要是用来展示轮播图,其中imgs和div_id为需要传入该模板的变量. 自定义tag的使用 添加目录和文件 在djangoapp目录中添加一个templatetagsPython包(Packages),注意是包,非目录.如下图所示: 这里我在应用

  • Django模板继承 extend标签实例代码详解

    在 views.py 上修改 ... def ordered(req): return render(req, "ordered.html") def shopping_car(req): return render(req, "shopping_car.html") 在 urls.py 上修改 ... path('ordered/', views.ordered), path('shopping_car/', views.shopping_car), ... 在

  • 详解django模板与vue.js冲突问题

    问题: django模板与vue.js的变量都是使用"{{"和"}}"包裹起来的,在渲染django模板时会先替代掉所有的"{{"和"}}"及被包裹在其中的内容,使得vue.js没有使用"{{"."}}"来绑定变量. 处理方法: 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = ["[[", "]]"]; 执

随机推荐