第十四天
模板
调用一个html页面
from django.template import Template,Context
def gethtml(request):
html="""
<html>
<head>
</head>
<body>
<h1>我是一个h1标签</h1>
<h2>我是{{ name }}</h2>
<a href = "https://baike.baidu.com/item/%E5%BE%B7%E6%80%80%E6%81%A9%C2%B7%E9%9F%A6%E5%BE%B7/5457042?fromtitle=%E9%9F%A6%E5%BE%B7&fromid=64575&fr=aladdin">
<img src='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1568003957396&di=a9ef056162060cc8d0bb4e830d80f1a4&imgtype=0&src=http%3A%2F%2F03imgmini.eastday.com%2Fmobile%2F20180917%2F62855583b6b5e607bdd7c8d54c34c8dc_wmk.jpeg' title = '这是韦德' alt='这个是韦德'>
</a>
<p>{{ content }}</p>
</body>
</html>
"""
#1.构建模板结构
tempalte_obj = Template(html)
#2.创建渲染模板
params = dict(name="韦德大爷",content="好几个总冠军")
content_obj = Context(params)
#3.进行数据渲染
result = tempalte_obj.render(content_obj)
#4.返回结果
# return HttpResponse(html)
return HttpResponse(result)
这种方式虽然能够实现调用一个html页面,并且能够将数据渲染上去,但是页面依然嵌套在python代码中,编写不方便。因此 不常用。
模板标签系统介绍
在做web开发,要给用户提供一个页面,页面包括静态页面+数据,两者结合起来就是完整的可视化的页面,django的模板系统支持这种功能,首先需要写一个静态页面(结构html,样式css,行为js)然后通过python的模板语法将数据渲染上去。
1.创建一个templates目录
2.配置模板
配置项介绍
调用模板的第一种方法
调用模板的第二种方法
调用模板的第三种方法
模板语法
变量的使用
在摸板中,如果想要使用后端传入的数据,就要用到模板语法去实现。
django提供的模板语法:变量的使用,控制语句,循环
django模板html文件中使用变量 语法: {{ }}
使用locals()方法,作用是将当前视图函数的所有局部变量返回
控制语句
if else elif
模板中使用控制语句,语法结构
{% if 条件 %}
{% elif 条件 %}
{% else %}
{% endif %}
循环语句
遍历列表
遍历字典
forloop
forloop是一个django自带的一个变量,作用于循环,记录循环的次数,可以对循环的内容进行控制,判断,通常和if连用
forloop是一个django自带的一个变量,作用于循环,记录循环的次数,可以对循环的内容进行控制,判断,通常和if连用
过滤器
对视图传过来的数据进行二次处理
语法结构:{{ age | add:10 }}
safe django出于安全考虑,会将前面注入的js或者html语句转义,使用safe将指定的js或者html变为安全的语句,正常执行。
静态文件
前端三大部分 结构 样式 行为
在web开发过程当中,有一类型的文件叫做:静态文件,指:css,js,image.这些文件通常不被直接访问,往往是在加载页面的时候被加载,这些内容是固定的。
静态文件的配置
1. 创建目录
2.配置静态文件
# 静态文件的配置
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
STATICFILES_DIRS 后面可以是列表或者是元祖
由status_URL 替代、代理了下面的 静态文件的具体地址
3.静态文件的使用
4.页面跳转