模板变量 模板过滤器
#-- 模板变量 不会被浏览器解析 只有当后端传递了
# 前端
{{ 模板变量名 }}
{{ name }}
{{ age }}
#后端
# rendur方法 第一个参数传入request请求,第二个传入html模板文件路径,context传入一个字典 对应前端的模板变量,模板变量解析成数据,浏览器渲染数据展示
def function(request):
return render(request,'index.html',context = {
"name":"wxy",
"age":18
})
def functions(request):
return render(request,'index2.html',locals())
#locals() 传入当前方法中的所有局部变量
深度查询
# appo2/index.html
<body>
{{ str.2 }}<br>
{{ num }}<br>
{{ lis.1.age }}
{{ lis.0.re}}
</body>
# ---------------------------------------------------------------------------
# python
def function(request):
str = 'wxy'
num = 12
def fun():
return "wxy"
class Test:
def __init__(self,name,age):
self.name = name
self.age = age
def re(self):
return self.name+"ok"
user1 = Test('wxy',18)
user2 = Test('hyx',28)
return render(request,'appo2/index.html',locals())
# 最终前端渲染结果
y
12
28
wxyok
# 在深度查询中使用.进行操作,后带数字表示切片,带str表示调用方法或使用实例化对象的方法
过滤器
# Html
<body>
{{ str.2 }}<br>
{{ num }}<br>
{{ lis.1.age }} <br>
{{ lis.0.re }} <br>
返回列表第一个值: {{ lists|last }} <br>
返回列表最后一个值: {{ lists|first }} <br>
{{ str|join:'a'}} # pa ya ta ha oa na join过滤器会在每个字符后进行拼接
{{ str|truncatechars:2 }} <br>
{{ str|truncatewords:1 }} <br>
{{ h1|safe}} #关闭转义
</body>
# Python
def filter(request):
lis = [1,2,3,4,5]
now = datetime.datetime.now()
print(now)
str = "python"
h1 = '<script src='../js.js'> for(let a=1;a<=100000;a++)alert("666") </script>'
return render(request,'appo2/filter.html',locals())
# 运行结果
y
12
28
ok
返回列表第一个值: 5
返回列表最后一个值: 1
w…
wxy
静态文件目录
1)静态文件配置
1.在全局目录下创建static文件夹
2.在主项目的settings内注册此文件夹不然会找不到:
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
3.在static内创建Css与js文件夹,用于存放对应的css和js代码在文件中导入css与js文件
2)在网页中导入css与js
{% load static %} <!-- 导入静态文件夹-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="{% static "css/Login.css" %}">
<!-- 从static静态文件css文件夹下导入Login.css 文件 -->
</head>
<body>
<form action="#">
<h1>登录:</h1>
<input type="text" value="{{ name }}"> <br>
<h1>密码:</h1>
<input type="password" value="{{ password }}"> <br>
<button>提交</button>
</form>
<script src="{% static 'Js/Login.js' %}"></script>
<!-- 从static静态文件js文件夹下导入Login.js 文件 -->
</body>
</html>