08-Django 模板
需要教程的请关注个人微信公众号
模板:产生html,用于控制页面的展示,模板不仅仅是一个html文件,它包含两部分内容:
模板文件的使用
- 在项目目录下创建模板文件夹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>
变量写在{{模板变量名}}中,代码段写在{% %}中
---------------------------------------------------------------------
"记录"是见证成长;"成长"则意味着蜕变;“变",创造无限可能。
欢迎关注个人微信公众号,一起进步!扫描下方二维码即可
公众号回复指定关键字可获得视频教程资料
![](https://www.cnblogs.com/images/cnblogs_com/wysk/1536678/t_%E6%89%AB%E7%A0%81_%E6%90%9C%E7%B4%A2%E8%81%94%E5%90%88%E4%BC%A0%E6%92%AD%E6%A0%B7%E5%BC%8F-%E6%A0%87%E5%87%86%E8%89%B2%E7%89%88.png)