Django web框架-----Django templates模板
说明:mytestsite是django框架下的项目,quicktool是mytestsite项目中的应用
一般的变量之类的用 {{ }}(变量),功能类的比如循环、条件判断是用 {% %}(标签)
- 实例一:显示一个基本的字符串到网页上
quicktool/view.py文件修改视图函数index(),渲染一个home.html模板,在视图中传递一个字符串名称是 string 到模板 home.html
def index(request):
string = u'这是一个由Django2.1.7版本写出的视图内容!'
return render(request, 'home.html',{'string':string})
quicktool(应用app)下创建一个templates文件夹(模板),在templates下创建一个home.html
<!DOCTYPE html>
<html>
<head>
<title>学习Django</title>
</head>
<body> {{ string }} </body>
</html>
- 实例二:用for循环显示一个基本的List内容
quicktool/view.py文件修改视图函数index(),渲染一个home.html模板,在视图中传递一个List到模板home.html
def index(request):
TutorialList = ["HTML", "CSS", "jQuery", "Python", "Django"]
return render(request, 'home.html',{'TutorialList':TutorialList})
quicktool(应用app)下创建一个templates文件夹(模板),在templates下创建一个home.html
<!DOCTYPE html>
<html>
<head>
<title>学习Django</title>
</head>
<body> 语言类型列表:
{% for i in TutorialList %}
{{ i }}
{% endfor %}
</body>
</html>
- 实例三:显示字典中的内容
quicktool/view.py文件:
def index(request):
info_dict = {'site': u'本地环境', 'content': u'Django技术'}
return render(request, 'home.html', {'info_dict': info_dict})
quicktool/templates/home.html文件:
开发环境:
{{ info_dict.site }}
学习内容:
{{ info_dict.content }}
quicktool/templates/home.html文件(遍历字典):
{% for key, value in info_dict.items %}
{{ key }}: {{ value }}
{% endfor %}
- 实例四:进行条件判断和for 循环
quicktool/view.py文件:
def home(request):
List = map(str, range(100))# 一个长度为100的 List
return render(request, 'home.html', {'List': List})
quicktool/templates/home.html文件:
{% for item in List %}
{{ item }},
{% endfor %}
打印到页面的最后一个数字有逗号,使用forloop.last判断是否为最后一项,不是最后一项就加逗号,是最后一项就不加
{% for item in List %}
{{ item }}{% if not forloop.last %},{% endif %}
{% endfor %}
- forloop的一些变量

当列表中可能为空值时用for...empty...
<ul>
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% empty %}
<li>抱歉,列表为空</li>
{% endfor %}
</ul>
- 实例五:逻辑操作
① ==, !=, >=, <=, >, < (注意:比较符号前后必须有至少一个空格!)
{% if var >= 90 %}
成绩优秀
{% elif var >= 80 %}
成绩良好
{% elif var >= 70 %}
成绩一般
{% elif var >= 60 %}
需要努力
{% else %}
不及格
{% endif %}
②and, or, not, in, not in
# 判断 num 是不是在 0 到 100 之间:
{% if num <= 100 and num >= 0 %}
num在0到100之间
{% else %}
数值不在范围之内!
{% endif %}
- 实例六:获取当前用户、当前网址、当前GET参数
①获取当前用户
{% if request.user.is_authenticated %}
{{ request.user.username }},您好!
{% else %}
请登陆,这里放登陆链接
{% endif %}
②获取当前网址
{{ request.path }}
③获取当前GET参数
{{ request.GET.urlencode }}
合并到一起用的例子
<a href="{{ request.path }}?{{ request.GET.urlencode }}&delete=1">当前网址加参数 delete</a>
网页上的这个a标签href=“/?&delete=1”,每点击一次标签a网页的地址新增参数?delete=1&delete=1...
Django web框架-----Django templates模板的更多相关文章
- Django web框架-----Django连接本地现有mysql数据库
第一步:win10下载mysql5.7压缩包配置安装mysql,创建数据库或导入数据库 第二步:win10搭建django2.1.7开发环境,创建项目为mytestsite,创建应用app为quick ...
- python运维开发(十七)----jQuery续(示例)web框架django
内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...
- Web框架——Django笔记
Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序 ...
- Python3.5学习十八 Python之Web框架 Django
Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...
- [oldboy-django][1初始django]web框架本质 + django框架 + ajax
web框架本质 浏览器(socket客户端) - 发送请求(ip和端口,url http://www.baidu.com:80/index/) - GET 请求头(数据请求行的url上: Http1. ...
- 教程:Visual Studio 中的 Django Web 框架入门
教程:Visual Studio 中的 Django Web 框架入门 Django 是高级 Python 框架,用于快速.安全及可扩展的 Web 开发. 本教程将在 Visual Studio 提供 ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- 冰冻三尺非一日之寒--web框架Django
1.JS 正则 test - 判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf ...
- web框架django初探
Web框架介绍 一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发,就出 ...
随机推荐
- (.NET高级课程笔记)泛型总结
泛型总结 1.引入泛型:延迟声明,即在声明的时候没有指定参数类型,只有当调用的时候才会确定 其参数类型(架构师的理念:推迟一切可以推迟的) 2.如何声明和使用泛型 3.泛型的好处和原理 4.泛型类.泛 ...
- 接口自动化测试持续集成--SoapUI安装
实际使用: 接口自动化测试持续集成框架:maven+SoapUI+jenkins 1.SoapUI安装文件下载5.1.2 http://pan.baidu.com/s/1c17dJLu安装步骤非常简单 ...
- 关于表格table嵌套,边框合并问题的解决方法,table嵌套(转)
原文地址:http://www.cnblogs.com/zhangym118/archive/2016/05/16/5496931.html [问题] 外层table与内层table嵌套,内外表格都需 ...
- mysql服务启动不了 More help is available by typing NET HELPMSG 3534
解决方法:参考 注意:如果安装MySQL的时候改了端口(如从3306改成3307),则my.ini配置文件的端口也需要相应的修改
- WPF 查找控件的所有子控件
/// <summary> /// 查找子控件 /// </summary> /// <typeparam name="T">控件类型</ ...
- 2018.2.22 学习笔记 random模块及每日一练
给你一个字符数,把它的每个字符之间加上一个空格,形成一个新字符串. 例如:I love FishC. 变成I l o v e F i s h C . 跟小甲鱼学编程 变成 跟 小 甲 鱼 学 ...
- 2018-2019-2 20165316 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
2018-2019-2 20165316 <网络对抗技术> Exp6 信息搜集与漏洞扫描 1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应 ...
- [ABP] ASP.NET Zero 5.6.0 之 破解日志
继上次ASP.NET Zero 5.5.2的破解https://www.cnblogs.com/VAllen/p/ABP-ASP-NET-Zero-5-5-2-Crack.html之后,现在发布了AS ...
- 关于用IIS在.net平台发布网页的一些坑
说明:由于需要显示页面的表格的内容,要用pageOffice插件,而装pageoffice之前需要装.net3.5,直接导入. 为什么要分别装.net4.5和.net3.5 ? 都要装? 问题:刚才 ...
- msgid 属性
Android源码中的String.xml文件,msgid这个属性是干嘛的? 全局资源,方便引用.比如在布局的text和activity中用到.