博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019.03.24 模板渲染底层原理
阅读量:5124 次
发布时间:2019-06-13

本文共 2615 字,大约阅读时间需要 8 分钟。

多了个模板的东西,还是用以前的render

介绍了多种方法,应该是让我们更加的了解界面是如何渲染的,是如何传参数的

还是在视图层中Templates中进行

 

配置URL

  1. 项目包/urls.py

from django.conf.urls import url, include from django.contrib import admin ​ urlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^student/', include('student.urls')), ] ​
  1. 应用包/urls.py

#coding=utf-8 ​ from django.conf.urls import url import views ​ urlpatterns=[    url(r'^query1/$',views.query_view1) ] ​ ​ ​ ​

创建视图

  • 方式1:

# -*- coding: utf-8 -*- from __future__ import unicode_literals ​ from django.http import HttpResponse from django.shortcuts import render ​ from django.template import Template,Context ​ # Create your views here. def query_view1(request):    t = Template('hello:{
{name}}')   c = Context({'name':'zhangsan'})   renderStr = t.render(c) ​ ​   return HttpResponse(renderStr) ​
  • 方式2:

# -*- coding: utf-8 -*- from __future__ import unicode_literals ​ from django.http import HttpResponse from django.shortcuts import render ​ from django.template import Template,Context ​ # Create your views here. def query_view1(request):    with open('templates/index.html','rb') as fr:        content = fr.read()    t = Template(content)    c = Context({'name':'lisi'})    renderStr = t.render(c) ​ ​    return HttpResponse(renderStr) ​

创建模板

​       
  Title   hello:{
{ name }}
  • 方式3:

创建视图

# -*- coding: utf-8 -*- from __future__ import unicode_literals ​ from django.http import HttpResponse from django.shortcuts import render ​ from django.template import Template,Context from django.shortcuts import loader ​ # Create your views here. def query_view1(request):    t = loader.get_template('index.html')    renderStr = t.render({'name':'wangwu'}) ​    return HttpResponse(renderStr) ​
  • 方式4:

配置视图

# -*- coding: utf-8 -*- from __future__ import unicode_literals ​ from django.http import HttpResponse from django.shortcuts import render ​ ​ # Create your views here. def query_view1(request):    return render(request,'index.html',{'name':'zhaoliu'}) ​ ​ settings.py 在settings文件中配置很多的东西,引擎,路径啊之类的 今天来说Templates变量,都知道开始的html文件都放在里边吧 然后今天我们来重新建立一个目录也叫templates 下面也存有html 依然可以访问的

TEMPLATES = [

{
#渲染引擎
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] # html模板存放的位置
,
'APP_DIRS': True,
# 当项目下的templates目录中找不到页面会继续到应用包下的templates目录中查找
'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',
],
},
},
]

 

 

转载于:https://www.cnblogs.com/Py-king/p/10587362.html

你可能感兴趣的文章
Java异常抛出
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>
74HC164应用
查看>>
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
查看>>
java处理url中的特殊字符%等
查看>>
你的第一个Django程序
查看>>
Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试
查看>>
Unity3D性能优化之Draw Call Batching
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>