Django 模板
首先要在配置文件内设置模板路径。
#模板配置 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', # 设置模板地址,调用os系统模块选择根路径的文件夹名,但是根目录下要有该文件夹 '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', ], }, }, ]
设置方法并调用render模块导入模板。
from django.http import HttpResponse,HttpResponseRedirect #导入模板解析库 from django.shortcuts import render #定义一首页方法 def index(request): #定义变量,到模板输出 test_str = "Hello Wrold" test_int = 123 test_list = ["牛奶","鲜花","咖啡","电视"] test_dict = [{"name":"小明","age":18},{"name":"李毅","age":19}] content = "hello,I am Jack How du u do?" dt = datetime.datetime.now() #调用reder方法来解析模板,第一个参数是request,第二个参数是模板名,第三个参数传值 return render(request,"d2_index.html",{"test_str":test_str,"test_int":test_int,"test_list":test_list,"test_dict":test_dict,"content":content,"dt":dt})
模板基础语法。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Django首页模板</title> </head> <body> 欢迎,这里是首页 {# 传统模板语法输出 #} {{ test_str }} <br> {# 加法运算 通过调用内置过滤器来实现加法运算 #} {{ test_int | add:-10 }} <br> {# 模板输出list #} {{ test_list }} <br> {{ test_list.0 }} <br> {% for item in test_list %} {{ item }} {# 打印索引 counter 从一开始的计数器 #} {{ forloop.counter }} {# 打印数组索引 #} {{ forloop.counter0 }} {# 倒序索引 #} {{ forloop.revcounter }} <br> {% endfor %} {% for item in test_dict %} {# 取首位和末尾 #} 姓名:{{ item.name | first }}{{ item.name | last }}   年龄:{{ item.age }}<br> {% endfor %} {# 大小写互转 #} {{ "jack" | upper }} <br> {{ "ROSE" | lower }} <br> {# 链式调用 #} {{ 'jack' | first | upper }} <br> {# 返回长度 #} {{ '123456' | length }} <br> {# 截断操作 #} 截断字符操作{{ content | truncatechars:20 }} <br> 截断单词操作 {{ content | truncatewords:3 }} <br> {# 格式化日期 #} {{ dt | date:"Y-m-d H:i:s" }}
</body> </html>