上面一节我使用了字典的方式将参数从后台传到前台,这一节我将尝试使用模板文件来生成一个网页。这部分内容来自于教学视频,我在此将其分享给大家。
1.模板文件的基本使用-1
我们接着使用上次创建的’csvt01’项目,该项目中对urls和setting都已经配置好,并且已创建默认的templates文件夹。因为此篇只有一个名为blog的app,因此我们将urls.py里的文件进行修改,使得我们在测试的时候更加简单,修改后的urls.py如下:
from django.conf.urls import url
from blog import views as bg_views
urlpatterns = [
url(r'^index/$',bg_views.index)
]
- 修改后的blog/views.py
from django.template import loader,Context ##注意是大写的Context
from django.http import HttpResponse
def index(req):
##使用loader对象的get_template()方法获得一个template对象
t = loader.get_template('index1.html')
##对模板数据进行包装
c = Context({'uname':'Franky'})
##对内容进行渲染,返回一个html
html = t.render(c)
return HttpResponse(html)
- 修改后的blog/templates/index1.html
<body>
<h1>
{{uname}}
</h1>
</body>
- 运行截图
2.模板文件的基本使用-2
下面我们同template类生成Template对象,并在urls.py中加入index2的路径。
- urls.py内容如下:
from django.conf.urls import url
from django.contrib import admin
from blog import views as bg_views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index2/$',bg_views.index2)
]
- views.py内容如下:
from django.template import Template,Context
def index2(req):
##直接生成末班对象
t = Template('<h1>This is {{pname}}</h1>')
c = Context({'pname':'home'})
html = t.render(c)
return HttpResponse(html)
- 运行截图
3.模板文件的基本使用-3
调用render_to _response方法实现。该方法执行的结果就是一个HttpResponse对象。
该部分内容在前面有详细的提及,此处只给一个views.py参考代码:
from django.shortcuts import render_to_response
def index3(req):
return render_to_response('index1.html',{'pname':'hotel'})