九.Template模板 Template 模板是根据view传过来数据在html展示的功能,典型python 模板jinjia2库提供丰富的上下文展示func 创建template位置在项目下与app 同层级目录下 9.1配置模板路径: 修改settings.py,BASE_DIR是project的目录dir: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] 9.2templates 语法: {{varname }}表示变量 { %for var in object% } <p>{{ var.age}}</p> { %endfor% } # 语法: {{ 变量|过滤器 }} # 比如: #自动转义html {{ name|safe }} {{ name|lower }} # 表示将变量name的值全部变成小写 # 竖线|可以理解为python中的圆点(.) # 可以在if标签中,使用过滤器,并结合运算符一起使用 {% if user_list %} 用户人数:{{ user_list|length }} {% elif black_list %} 黑名单数:{{ black_list|length }} {% else %} 没有用户 {% endif %} #其他 {% if name|length > 2 %} # 过滤器可以用来串联,构成过滤器链 name | lower | upper # 过滤器可以传递参数 list | join:”,” # 设置默认值的过滤器 value | default:”0” #设置日期 value | date:”YYYY-mm-dd” #templates org help # https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/ template自定义tag: from django import template register = template.Library() # 生成一个注册的实例对象 @register.simple_tag() def se(arg1,arg2): return arg1 + arg2 # html <h3>自定义的simple_tag示例</h3> {% load s1 %} <p>{% se 2 4 %}</p>