模板变量及过滤器
一、模板变量
1.模板变量在html文件中用{{变量名}}所表示
2.def xianshi1(request):
return render(request,‘book/book_index.html’,context={‘name’:“abc”,‘age’:25})
context用来表示上下文管理
#定义一个类
class Django_day():
def __init__(self,name,age):
self.name=name;
self.age=age;
def say(self):
return self.name+self.age
#定义列表,元组,字符串,字典
str="hello Django";
dit={'name':'疯子','age':25}
tup=(1,2,3,4);
li=[1,2,3,4];
moban_1=Django_day('丰子',25)
#定义一个视图函数
def moban(request):
return render(request,'book/book_index.html',context=
{'list':li,
'str_1':str,
'tuple':tup,
'fangfa':HelloDjango,
'lei':moban_1})
```python
在这里插入代码片
`<body>
字符串{{str_1}}<br>
元组{{tuple}}<br>
列表{{list}}<br>
对象{{lei}}<br>
方法{{fangfa}}<br>
</body>``
效果显示如下:
模板过滤器
代码实现:
#模板过滤器
def Moban_fliter(request):
return render(request,'book/book_index.html',context=
{
'str':str,
'xx':'',
'num1':1,
'num2':2,
'list':li,
'now':datetime.now,
'html':'<h1>this is h1</h1>',
'float':3.1415926
}
)
没有处理过的字符串{{ str }}<br>
变大写的字符串{{ str|upper}}<br>
加法{{ num1|add:num2 }}<br>
加法{{ num1|add:num2|add:num2}}<br>
默认值{{ xx|default:'这是一个默认变量值' }}<br>
默认值{{ xx|default_if_none:'这是一个默认变量值' }}<br>
列表的第一个值{{ list|first}}<br>
列表的最后一个值{{ list|last}}<br>
列表切片{{ list|slice:'0:2' }}<br>
字符串切片{{ str|slice:'0:2' }}<br>
日期的默认格式{{ now|date }}<br>
默认时间格式{{ now|time}}<br>
用24小时制{{ now|date:'Y/m/d H:i:s' }}<br>
用12小时制{{ now|date:'Y/m/d h:i:s' }}<br>
字符拼接{{ str|join:'-' }}<br>
字符串长度{{ str|length }}<br>
判断字符串长度是否一致{{ str|length_is:2 }}<br>
只显示两个字符{{ str|truncatechars:5}}<br>
只显示两个单词{{ str|truncatewords:2 }}<br>
未处理的html标签{{ html }}<br>
取消html自动转义的{{ html|safe }}<br>
没处理的小数{{ float }}<br>
默认保留的小数{{ float|floatformat }}<br>
保留两位小数{{ float|floatformat:3 }}<br>
效果展示:
静态文件
导入css样式:
<link rel="stylesheet" herf="{% static 'css/test.css' %}">
导入js样式:
<script src="{% static 'js/test.js' %}"></script>
导入图片:
<img scr="{% static 'image/10.jpg' %}" alt="图片">