模板原理
模板调用
模板传参
参数输出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{{ name }}
{{ password }}
{# list 取值 #}
{{ list.0 }}
{{ list.1 }}
{# 字典 取值 #}
{{ zidian.a }}
{{ zidian.b }}
<br/>
{# 循环语句 #}
{% for a in list %}
输出:{{ a }}
{% endfor %}
{# 判断语句 #}
{% if name == 'zhangsan' %}
<span>111</span>
{% elif name == 'zhangsan2' %}
<span>222</span>
{% else %}
<span>333</span>
{% endif %}
<br/>
<br/>
<br/>
原样输出:
<ul>
<li>html_code:{{ html_code }}</li>
<li>datetime:{{ datetime }}</li>
</ul>
过滤器:(格式:变量|过滤器:参数)
<ul>
<li>safe禁止转义:{{ html_code|safe }}</li>
<li>length:{{ html_code|length }}</li>
<li>date输出日期:{{ datetime|date:'Y-m-d H:i:s' }}</li>
<li>default默认值:{{ style|default:'默认值' }}</li>
<li>upper转大写:{{ html_code|upper }}</li>
<li>lower转小写:{{ html_code|lower }}</li>
<li>多个过滤器:{{ html_code|lower|safe }}</li>
</ul>
<li>
index_handler的地址是:{% url 'user:index' %} 结果 /user/
</li>
<li>
re_handler的地址是:{% url 'user:re' 2%} 结果 /user/2
</li>
<span style="background-color: brown">
456789
</span>
</body>
</html>
def index_handler(request):
print(request.method)
print(request.path)
print(request.META['REMOTE_ADDR'])#请求者地址
print(request.META['CONTENT_TYPE'])#请求的 文本类型
for key in request.META.keys(): #request中包含的内容都打印出来
print(key,request.META[key])
#同上
for key in request.META:#request中包含的内容都打印出来
print(key,request.META[key])
return HttpResponse( #这里定义了啥就输出啥,比如状态值设定了500,则控制台显示500,
content='HttpResponse',
content_type='text/plain',
status=500
)
return JsonResponse( #将转换中文输出
{
'edu': 'CSDN学院',
'course': 'Python'
},
json_dumps_params={'ensure_ascii': False}
)
return HttpResponse('Hello Django')
context={
'name':'zhangsan',
'list':['a','b'],
'zidian':{'a':'1','b':'2'}
}
context={
'html_code':'<a href="//www.edu.csdn.net">sdn学院</a>',
'datetime':datetime.datetime.now()
}
return render(request,"index.html",context)