哈尔滨网站推广优化公司,如何创办网站,西安做网站的公司报价,大丰市市城乡建设局网站模板引擎语法-变量 文章目录 模板引擎语法-变量#xff08;一#xff09;在Django框架模板中使用变量的代码实例#xff08;二#xff09;在Django框架模板中使用变量对象属性的代码实例#xff08;三#xff09;在Django框架模板中使用变量显示列表 #xff08;一…模板引擎语法-变量 文章目录 模板引擎语法-变量一在Django框架模板中使用变量的代码实例二在Django框架模板中使用变量对象属性的代码实例三在Django框架模板中使用变量显示列表 一在Django框架模板中使用变量的代码实例
1.创建项目
cd E:\Python\
django-admin.exe startproject TmplSite2.在编程工具中打开此项目。
3.创建应用
django-admin.exe startapp gramapp4.定义应用的视图文件
文件路径【TmplSite/gramapp/views.py】
from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse(Hello, Django! Youre at the gramapp index.)def grammar(request):context {}context[title] Django Template Grammarcontext[gram] grammartemplate loader.get_template(gramapp/grammar.html)return HttpResponse(template.render(context, request))【代码分析】
代码分析context[‘title’] Django Template Grammar在变量context中添加了第一个属性title并进行了赋值context[‘gram’] “grammar”在变量context中添加了第二个属性grm并进行了赋值template loader.get_template(‘gramapp/grammar.html’)调用get_template()函数加载html模板并保存在模板对象template中return HttpResponse(template.render(context, request))通过模板对象template调用了render()函数将上下文对象context传递到html模板grammar.html中进行渲染
5.定义HTML模板的代码实例
文件路径【gramapp/templates/gramapp/grammar.html】
!DOCTYPE html
html langen
headmeta charsetUTF-8link relstylesheet typetext/css href/static/css/mystyle.css/title{{ title }}/title
/head
bodyp classmiddleHello, this is a b{{ gram }}/b page!
/p/body
/html【代码分析】
代码分析{{ title }}通过双花括号{{}}引用了views.py中定义的第一个属性{{title}}Hello, this is a {{ gram }} page!通过双花括号{{}}引用了views.py中定义的第二个属性{{gram}}
6.定义路由文件
文件路径【TmplSite/gramapp/urls.py】
from django.urls import path
from . import viewsurlpatterns [path(, views.index, nameindex),path(gram/, views.grammar, namegrammar),
]
文件路径【TmplSite/TmplSite/urls.py】
from django.contrib import admin
from django.urls import include, pathurlpatterns [path(gramapp/, include(gramapp.urls)),path(admin/, admin.site.urls),
]
7.定义项目根目录的settings.py文件
INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,gramapp.apps.GramappConfig, # 新增应用
]8.打开FireFox浏览器访问
【http://localhost:8000/gramapp/】 【http://localhost:8000/gramapp/gram/】 二在Django框架模板中使用变量对象属性的代码实例
1.编辑视图文件
文件路径【TmplSite/gramapp/views.py】
from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse(Hello, Django! Youre at the gramapp index.)def grammar(request):context {}context[title] Django Template Grammarcontext[gram] grammarcontext[author] {first_name: King, last_name: Wang} # 新增此行template loader.get_template(gramapp/grammar.html)return HttpResponse(template.render(context, request))【代码分析】
代码分析context[‘author’] {‘first_name’: ‘King’, ‘last_name’: ‘Wang’}在变量context中追加了一个属性author并赋值为一个字典类型
2.编辑HTML模板
文件路径【TmplSite/gramapp/templates/grammar.html】
!DOCTYPE html
html langen
headmeta charsetUTF-8link relstylesheet typetext/css href/static/css/mystyle.css/title{{ title }}/title
/head
bodypHello, this is a b{{ gram }}/b page!
/p
pAuthor: b{{ author.first_name }} {{ author.last_name }}/b
/p/body
/html【代码分析】
代码分析Author: {{ author.first_name }} {{ author.last_name }}通过.引用视图中定义的两个属性
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】 三在Django框架模板中使用变量显示列表
1.编辑视图文件
文件路径【TmplSite/gramapp/views.py】
from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse(Hello, Django! Youre at the gramapp index.)def grammar(request):context {}context[title] Django Template Grammarcontext[gram] grammarcontext[author] {first_name: King, last_name: Wang}context[languages] [Python, Django, Jinja2] # 新增此行template loader.get_template(gramapp/grammar.html)return HttpResponse(template.render(context, request))【代码分析】
代码分析context[‘languages’] [‘Python’, ‘Django’, ‘Jinja2’]在变量context中追加了一个属性languages并赋值为列表类型
2.编辑HTML模板
文件路径【TmplSite/gramapp/templates/grammar.html】
!DOCTYPE html
html langen
headmeta charsetUTF-8link relstylesheet typetext/css href/static/css/mystyle.css/title{{ title }}/title
/head
bodypHello, this is a b{{ gram }}/b page!
/p
pAuthor: b{{ author.first_name }} {{ author.last_name }}/b
/p
pLanguages:brul{% for lang in languages %}li{{ lang }}/li{% endfor %}/ul
/p
/body
/html【代码分析】
代码分析 Languages: {% for lang in languages %} {{ lang }} {% endfor %} 定义了一个 列表元素通过在模板中嵌套for语句遍历了Languages属性通过在元素中插入列表项“{{lang}}”,将Languages属性的每一项值显示在页面中
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】