templates
#应用目录下创建templates文件夹存放html,static目录存放images\css\js
#setting.py
TEMPLATES = [
{
'DIRS': [
os.path.join(BASE_DIR, 'app/templates'),
os.path.join(BASE_DIR, 'app/static'),
],
]
#html
#变量
{{variable}}
#用.访问变量属性
按照 字典、属性或方法、数字索引 的顺序
#过滤器
{{ name|lower }} #该过滤器将文本转换成小写
{{ my_list|first|upper }} #可嵌套,将第一个元素并将其转化为大写
#内置过滤器
{{ value|add:"2" }} #add——把add后的参数加给value
add #给变量加上相应的值
length #返回值的长度
last #返回列表中的最后一个项目
addslashes #给变量中的引号前加上斜线
capfirst #首字母大写
cut #从字符串中移除指定的字符
date #格式化日期字符串
default #如果值是False,就替换成设置的默认值,否则就是用本来的值
default_if_none #如果值是None,就替换成设置的默认值,否则就使用本来的值
#标签
#for
{%for each in list%}
{%endfor%}
#if
{%if%}
{%endif%}
#生成csrf_token的标签,用于防治跨站攻击验证
{%csrf_token%}
#注释
{# #}
{% url %}: 引用路由配置的地址
{% with %}{%endwith%}:用更简单的变量名替代复杂的变量名
{% verbatim %}{%endverbatim%}: 禁止render
{% load %}: 加载标签库
{% include %} 标签允许在模板中包含其它的模板的内容
#自定义模板标签和过滤器
#在app下创建包templatetags
templatetags/
__init__.py
mytag.py
#mytag.py
'''
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter
def filter_multi(v1,v2):
return v1 * v2
@register.simple_tag
def simple_tag_multi(v1,v2):
return v1 * v2
@register.simple_tag
def my_input(id,arg):
result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
return mark_safe(result)
'''
使用{% load mytag %}
#模板继承
#base.html中
{% block css %} {% endblock %}
{% block content %} {% endblock %}
{% block js %} {% endblock %}
#show.html中
{% extends "base.html" %}
{% block css %}
p{color:red;}
{% endblock %}
{% block content %}
<h1>添加班级</h1>
<form action="/add_classes.html" method="POST">
<input type="text" name="caption" />
<input type="submit" value="提交"/>{{ msg }}
</form>
{% endblock %}
{% block js %}
<script>
$(function () {
$('#menu_class').addClass('active');
});
</script>
{% endblock %}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗