08-Django 模板
需要教程的请关注个人微信公众号
模板:产生html,用于控制页面的展示,模板不仅仅是一个html文件,它包含两部分内容:
- 静态内容:css,js,image
- 动态内容:用模板语言语言动态的产生一些网页内容
模板文件的使用
- 在项目目录下创建模板文件夹templates
- 配置模板目录,在setting.py 里面有一个TEMPLATES项DIRS
'DIRS': [os.path.join(BASE_DIR,'templates')], # 配置模板目录,默认是[],里面是空的
BASE_DIR:获取项目的绝对路径,与templates进行拼接
- 创建html文件:在templates下创建html文件
- 使用模板文件
4.1.加载模板文件:去模板目录下获取html文件的内容,得到一个模板对象
4.2.定义模板上下文:项模板文件传递数据
4.3.模板渲染:得到一个标准的html内容
def index(request):
# return HttpResponse("hello django")
# 使用模板文件
# 1.加载模板文件,返回的是模板对象
temp = loader.get_template('booktest/index.html')
# 2.定义模板上下文:给模板文件传递数据
context=RequestContext(request,{})
context={}
# 3.模板渲染
res_html=temp.render(context)
# 4.返回给浏览器
return HttpResponse(res_html)
上面的方法不够灵活,如果还有页面,又要重新写一遍,自己封装一个函数
def my_render(request,template_path,context_dict):
temp = loader.get_template(template_path)
# context=RequestContext(request,context_dict)
context=context_dict
res_html=temp.render(context)
return HttpResponse(res_html)
def index(request):
return my_render(request,'booktest/index.html',{})
模板参数传递
views.py:
return my_render(request,'booktest/index.html',{'now':now,'list':list(range(1,10))})
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h>您好,这是一个模板文件</h><br/>
now变量:<br/>{{now}}<br/>
遍历变量:<br/>
<ul>
{% for i in list%}
<li>{{i}}</li>
{% endfor %}
</ul>
</body>
</html>
变量写在{{模板变量名}}中,代码段写在{% %}中
08-Django 模板的更多相关文章
- Django模板语言相关内容
Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 ...
- Django 模板系统
Django模板系统 常用语法 {{}} 变量相关 {%%} 逻辑相关 变量 格式 {{ 变量名 }} 命名规则 包括任何字母数字以及下划线 ("_")的组合 变量名称中不能有空格 ...
- Django模板语言与视图(view)
常用语法 {{ }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后 ...
- Django模板语言(一)
1,Django模板语言 1.1>基础语法:1.1.1,变量相关:{{ 变量名 }},1.1.2,逻辑相关{% ... %} 在Django模板语言中按此语法使用:{{ 变量名 }},当模板引擎 ...
- Django模板与Vue.js冲突问题
参考: https://my.oschina.net/soarwilldo/blog/755984 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = [&quo ...
- 在 Django 模板中遍历复杂数据结构的关键是句点字符
在 Django 模板中遍历复杂数据结构的关键是句点字符 ( . ). 实例二 mysit/templates/myhtml2.html修改如下 <!DOCTYPE html> <h ...
- python django 模板
1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...
- django 模板中定义临时列表
<ul class="num_t clr"> {% for obj in ""|ljust:"10" %} <li> ...
- Django 模板中引用静态资源(js,css等)
Django 模板中免不了要用到一些js和CSS文件,查了很多网页,被弄得略晕乎,还是官网靠谱,给个链接大家可以自己看英文的. https://docs.djangoproject.com/en/1. ...
- Django模板-分离的模板
上一篇Django模板-在视图中使用模板最后的问题,我们需要把数据和展现分离开. 你可能首先考虑把模板保存在文件系统的某个位置并用 Python 内建的文件操作函数来读取文件内容. 假设文件保存在 E ...
随机推荐
- BZOJ1500 [NOI2005]维修数列(Splay tree)
[Submit][Status][Discuss] Description 请写一个程序,要求维护一个数列,支持以下 6 种操作: 请注意,格式栏 中的下划线‘ _ ’表示实际输入文件中的空格 Inp ...
- HDU-3577-------Fast Arrrangement
Chinese always have the railway tickets problem because of its' huge amount of passangers and statio ...
- UVA-10391 Compoud Words
You are to find all the two-word compound words in a dictionary. A two-word compound word is a word ...
- mongodb验证
mongodb默认是不需要用户名和密码就可以增删查改的.要设置成需要用户名和密码访问,步骤如下: 通过下面的命令启动mongodb服务器 mongod 启动之后再登录,执行下面命令: use test ...
- processing-python-泡泡龙
挂一个无耻搬运工:码农教程. 真的打心底里瞧不起为了蹭热度全网照抄代码的某些人. 再次此声明:代码不是python语言,求某些搬运工不要到处搬运害人. def setup(): size(600,60 ...
- redis(7)--redis应用实战
问题1:哨兵模式下客户端应该连接哪个redis-server? 问题2:集群模式下为什么会有MOVED error Redis Java客户端介绍 已有的客户端支持 Redis Java客户端有很多的 ...
- JS-常考算法题解析
常考算法题解析 这一章节依托于上一章节的内容,毕竟了解了数据结构我们才能写出更好的算法. 对于大部分公司的面试来说,排序的内容已经足以应付了,由此为了更好的符合大众需求,排序的内容是最多的.当然如果你 ...
- JS内置对象-Array之forEach()、map()、every()、some()、filter()的用法
简述forEach().map().every().some()和filter()的用法 在文章开头,先问大家一个问题: 在Javascript中,如何处理数组中的每一项数据? 有人可能会说,这还不简 ...
- .NET Core环境变量和用户秘钥实现开发中的数据安全
目录 一.注入 IConfiguration 二.从配置文件 appsettings.json 中获取环境变量 三.从项目中获取环境变量 四.用户秘钥设置环境变量 前言:有很多人将秘钥,数据库连接字符 ...
- 《Java练习题》进阶练习题(四)
编程合集: https://www.cnblogs.com/jssj/p/12002760.html 前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. [程序78 ...