django入门 03 模板语法
变量值从views.py传入html
- 基本语法
{{ abc }}
变量abc外,用双大括号包裹{% for item in abc %}
语句外,用大括号+百分号包裹
1. 传递字符串
- views.py中,def内
注意views.py外部变量(str1)不需要引号包裹,*.html内部变量(strHtml)需要引号包裹
def index(request):
str1 = "someValue"
return render(request, 'index.html', {"strHtml1": str})
- index.html中,<body>内
<div>{{ strHtml1 }}<div>
2. 传递列表
- views.py中,def内
def index(request):
list1 = ["someValue1", "someValue2","someValue3"]
return render(request, 'index.html', {"listHtml1": list1})
- index.html中,<body>内
<div>
{% for item in listHtml1 %}
{{ item }}
{% endfor %}
<div>{{ listHtml1.0 }}</div>
<div>{{ listHtml1.1 }}</div>
<div>{{ listHtml1.2 }}</div>
</div>
- 效果

3. 传递字典
- views.py中,def内
def index(request):
dict1 = {"key1": "someValue1", "key2": "someValue2", "key3": "someValue3"}
return render(request, 'index.html', {"dictHtml1": dict1})
- index.html中,<body>内
<div>
{% for k in dictHtml1.keys %}
{{ k }}
{% endfor %} <br><br><br>
{% for v in dictHtml1.values %}
{{ v }}
{% endfor %} <br><br><br>
{% for k,v in dictHtml1.items %}
<div>{{ k }}={{ v }}</div>
{% endfor %} <br><br><br>
<div>{{ dictHtml1.key1 }}</div>
<div>{{ dictHtml1.key2 }}</div>
<div>{{ dictHtml1.key3 }}</div>
</div>
- 效果
4. 传递列表中的字典
- views.py中,def内
def index(request):
list_info = [
{"name": "zhang", "age": 14, "province": "hunan"},
{"name": "li", "age": 15, "province": "tianjin"},
{"name": "tian", "age": 16, "province": "shanghai"},
]
return render(request, "index.html", {"listHtml1": list_info})
- index.html中,<body>内
<div>{{ listHtml1.1 }}</div>
<div>{{ listHtml1.1.name }}</div>
<div>{{ listHtml1.1.age }}</div><br>
{% for item in listHtml1 %}
<div>{{ item.name }} : {{ item.age }} : {{ item.province }}</div>
{% endfor %} <br>
<ul>
{% for item in listHtml1 %}
<li> {{ item.name }} : {{ item.age }} : {{ item.province }} </li>
{% endfor %}
</ul> <br>
- 效果

- 附加知识:django html条件语句
{% if strHtml1 == "abc" %}
……
{% elif strHtml1 == "def" %}
……
{% else %}
……
{% endif %}
总结
- {{ }}、{% %} 这些替换字符串,会被django在渲染html时替换,因而不会被终端用户看见
- mosh(一个老外)的经验,尽量在views.py里写条件语句,写在html里会造成代码界面混乱
来源:BV1NL41157 武沛齐《2022 B站最详细django3教程(django从入门到实践)》P9
django入门 03 模板语法的更多相关文章
- Django框架之模板语法【转载】
Django框架之模板语法 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django ...
- Django框架之模板语法(重要!)
一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 1.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...
- vue简介、入门、模板语法
在菜鸟教程上面学习的vue.js.同时结合vue中文文档网站,便于自己记录. vueAPI网站:API 1. 简介 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框 ...
- django入门之模板的用法
1.为什么要使用模板? 看下以前的代码 #-*- coding:utf-8 -*- from django.shortcuts import render from django.http impor ...
- Django学习笔记(3)——表单,测试和模板语法的学习
一,表单form 为了接收用户的投票选择,我们需要在前段页面显示一个投票界面,让我们重写之前的polls/detail.html文件,代码如下: <h1>{{ question.quest ...
- Django 03 模板路径、模板变量、常用的过滤器
Django 03 模板路径.模板变量.常用的过滤器 一.模板路径 #1.在每个app下面添加一个templates文件 #2.在项目views.py里面第33行INSTALLED_APPS里面添加上 ...
- Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)
前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...
- Django(四)框架之第三篇模板语法
https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/7725568. ...
- django模板语法
Django 模板语法 Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }}在Django模板中遍历复杂 ...
随机推荐
- 1046:Square Number
总时间限制: 1000ms 内存限制: 65536kB 描述 给定正整数b,求最大的整数a,满足a*(a+b) 为完全平方数 输入 多组数据,第一行T,表示数据数.对于每组数据,一行一个正整数表示b. ...
- 第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么
第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么 Sigma协议 Sigma协议是Alice想要向Bob证明一些东西的协议(Alice知道一些秘密).他们有下面的一般范式:Al ...
- Chapter 8 Selection Bias
目录 8.1 The structure of selection bias 8.2 Examples of selection bias 8.3 Selection bias and confoun ...
- 访问局域网内其他主机的VMware虚拟机上的mysql数据库和redis缓存
上一篇写了访问局域网内其他主机的虚拟机上的项目 ,现在说说访问局域网内其他主机的虚拟机上的数据库和缓存 博主使用的linux是Ubuntu16.04: 一.安装数据库和缓存 这里连接的数据库和缓存以m ...
- 使用springboot devtools工具实现热部署
一.在maven父工程pom文件中添加依赖 二.在子工程中添加依赖 三.在IDEA中勾选 Build project automatically项 四. Shift+Ctrl+Alt+/,选择Regi ...
- react子组件向父组件传值
子组件向父组件传值,注意父组件传递函数的时候必须绑定this到当前父组件(handleEmail={this.handleEmail.bind(this)}),不然会报错 /***实现在输入框输入邮箱 ...
- Linux上天之路(十二)之服务管理
主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...
- Go标准库之html/template
html/template包实现了数据驱动的模板,用于生成可防止代码注入的安全的HTML内容.它提供了和text/template包相同的接口,Go语言中输出HTML的场景都应使用html/templ ...
- Visual Studio 2019 与 Visual Studio 2022的下载方式
相信大家目前百度或者其他搜索引擎搜索到的都是2022了,那么vs2019该如何安装呢? vs2019下载地址:https://visualstudio.microsoft.com/zh-hans/th ...
- ADD software version display
ADD software version display ADD software version display1. Problem Description2. Analysis3. Solutio ...