django 学习二

岁酱吖の 提交于 2020-01-30 07:25:11

模板

默认配置下,django的模板系统会自动找到app下面的templates文件夹中的模板文件。
1.新建项目及app
在这里插入图片描述
2.设置settings.py
在这里插入图片描述
3.编辑模板文件
进入mysite\learn 新建一个templates文件夹,在其中新建一个home.html文件
在这里插入图片描述
4.编辑mysite\learn\views.py
在这里插入图片描述
5.编辑mysite\urls.py
在这里插入图片描述
6.运行服务器
在这里插入图片描述
总结:
1.django查找模板的过程,是在每个app的templates文件夹中找,而不只是在当前app的templates文件夹中找。各个app的templates形成一个文件夹列表,django遍历这个列表,一个一个文件夹进行查找,当在某一个文件夹中找到的时候就停止,所有的都遍历完了还找不到指定的模板的时候就是Template Not Found。
2.优点:一个app可以用另一个app的模板文件
缺点:有可能会找错
3.解决方案:在每个app的templates文件夹中再建一个app名称的文件夹,将仅和该app相关的模板放在app\templates\app目录下。
例如:在tutorial\templates下新建tutorial文件夹,此时views.py中就填写 render(request,‘tutorial\home.html’)

模板进阶

1.在网页上显示一个字符串
(1)修改模板文件
在这里插入图片描述
(2)修改views.py文件
通过视图,向模板home.html传递了一个字符串,其名称是string。
在这里插入图片描述
(3)运行服务器
在这里插入图片描述
2.使用for循环和显示list内容
(1)修改模板文件
在这里插入图片描述
(2)修改views.py文件
在这里插入图片描述
(3)运行服务器
在这里插入图片描述
3.显示字典中内容
(1)修改模板文件
在这里插入图片描述
(2)修改views.py文件
在这里插入图片描述
(3)运行服务器
在这里插入图片描述
4.结合if和for的操作
(1)修改模板文件
注意有逗号
在这里插入图片描述
(2)修改views.py文件
map(str,range(100)):对range(100)各项进行str操作
在这里插入图片描述
(3)运行服务器
发现多了一个逗号,怎么改进呢?
在这里插入图片描述
改进:
views.py文件不变,修改模板文件
forloop.last 判断是不是最后一项,不是最后一项才加逗号。
在这里插入图片描述
发现逗号没了
在这里插入图片描述
5.避免链接硬编码
在模板中使用:
不带参数的:{% url ‘name’ %}
带参数的:{% url ‘name’ 参数 %}
这样,就不会写死网址,以后在修改urls.py、models.py时,获取的网址会动态的跟着变化。
在这里插入图片描述
6.模板中的逻辑操作
== != >= <= < > 这些比较都可以在模板中使用(比较符前后至少有一个空格)。
and or not in not in 也可以在模板中使用。
(1)判断num是不是在10到100之间。
在这里插入图片描述
(2)判断‘woxihuanxian’ 是不是在列表变量List中。
在这里插入图片描述
7.获取当前网址,用户等信息
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!