打开current_datetime 视图。 以下是其内容:
from django.http import HttpResponse
import datetime
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)
让我们用 Django 模板系统来修改该视图。 第一步,你可能已经想到了要做下面这样的修改:
from django.template import Template, Context
from django.http import HttpResponse
import datetime
def current_datetime(request):
now = datetime.datetime.now()
t = Template("<html><body>It is now {{ current_date }}.</body></html>")
html = t.render(Context({'current_date': now}))
return HttpResponse(html)
没错,它确实使用了模板系统,但是并没有解决我们在本章开头所指出的问题。 也就是说,模板仍然嵌入在Python代码里,并未真正的实现数据与表现的分离。 让我们将模板置于一个 单独的文件 中,并且让视图加载该文件来解决此问题。
你可能首先考虑把模板保存在文件系统的某个位置并用 Python 内建的文件操作函数来读取文件内容。 假设文件保存在 /home/djangouser/templates/mytemplate.html 中的话,代码就会像下面这样:
from django.template import Template, Context
from django.http import HttpResponse
import datetime
def current_datetime(request):
now = datetime.datetime.now()
# Simple way of using templates from the filesystem.
# This is BAD because it doesn't account for missing files!
fp = open('/home/djangouser/templates/mytemplate.html')
t = Template(fp.read())
fp.close()
html = t.render(Context({'current_date': now}))
return HttpResponse(html)
然而,基于以下几个原因,该方法还算不上简洁:
- 它没有对文件丢失的情况做出处理。 如果文件 mytemplate.html 不存在或者不可读, open() 函数调用将会引发 IOError 异常。
- 这里对模板文件的位置进行了硬编码。 如果你在每个视图函数都用该技术,就要不断复制这些模板的位置。 更不用说还要带来大量的输入工作!
- 它包含了大量令人生厌的重复代码。 与其在每次加载模板时都调用 open() 、 fp.read() 和 fp.close() ,还不如做出更佳选择。
相关推荐:
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
SEO译为:网站排名背后的优化策略,会展中心网站优化
SEO优化10种策略:提升网站排名的有效方法,帅气ai男头白底
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
SEO超级,助力企业站点冲刺搜索引擎排名,白云全网营销推广哪家强
SEO找出网站流量提升的终极策略,带你走向搜索引擎巅峰!,朝阳模板网站建设价格
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
AI搜索写文章:一丝丝智慧背后的无限可能,电脑免费ai写作神器
优化公司:助力企业腾飞的秘密武器,微信营销推广价格多少
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
如何选择适合你的AI工具?全面解析AI工具哪个好用
seo需要什么人员,seo需要什么技能 ,画大学ai
ChatGPTCanvex打不开?详细分析及解决方法助你顺利使用,ai2.5d网格线去除
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
ChatGPT遇到问题?如何解决“您的应用遇到问题,无法正常启动”困境?,ai下载增强版
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
ChatGPTDNS出问题?如何快速解决并保障网络畅通,墨镜ai照片
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
seo网络推广是什么,seo网络推广是什么意思 ,ai哪里注音
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
文章缩写AI:高效编辑的未来之光
ZBlog:开启你的个人网站新时代,轻松搭建与管理,二手手机营销推广方案
智能AI写文章:高效创作新风尚
智能AI写作生成:如何借助人工智能提升创作效率与质量
SEO动态:2025年SEO趋势与优化技巧解析,十堰外贸网站推广费用
SEO通过-如何通过SEO优化让你的业务在搜索引擎中脱颖而出,保定网站建设推广专家
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词
SEO是什么意思?揭秘SEO的真正含义与重要性,公司推广网站询问d火18星来
什么是seo的豆子,何为seo ,ai圆复制
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
SEO这样做,轻松引爆流量,助力企业成长,无极标准网站优化好处
SEO本站:提升网站流量与排名的秘密武器,荆门专业的抖音seo
如何查文章AI率?全面解析AI文章检测工具及技巧
SEO知道:让你的网站在搜索引擎中脱颖而出,水安建设集团网站
为什么seo这么难,seo难嘛 ,ai宁中则
整理文章的AI:提升写作效率的智能助手
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
文章AI思维导图自动生成助力创作的智慧之源
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
OpenAIGPT:开启智能时代的语言革命,ai辣妹动漫
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
SEO外,如何提升网站整体营销效果?,文轩网络营销推广方案
SEO联系:如何通过SEO优化提升您的网络营销效果,企业营销推广获客
SEO优化排-打造高效的网络营销利器,精神AI
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo