模板变量 模板过滤器

模板变量 模板过滤器

#-- 模板变量 不会被浏览器解析 只有当后端传递了
# 前端
{{ 模板变量名 }}
{{ 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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值