在视图中使用模板-libmodbus源码解析

时间:2024-07-14 01:47:12
【文件属性】:

文件名称:在视图中使用模板-libmodbus源码解析

文件大小:7.37MB

文件格式:PDF

更新时间:2024-07-14 01:47:12

PDF

3.6在视图中使用模板 我们已经学习了模板系统的基础知识,下面将其运用到视图中。 回顾一下前一章在 mysite.views模块中创建的 current_datetime视图,如下所示: from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "It is now %s" % 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("It is now {{ current_date }}.") 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() # 使用文件系统中模板的简单方式 # 这样做不好,因为没有考虑缺少文件的情况 fp = open('/home/djangouser/templates/mytemplate.html') t = Template(fp.read()) fp.close() html = t.render(Context({'current_date': now})) return HttpResponse(html) 然而,这么做不够优雅,原因如下: 3.6 在视图中使用模板 - 41


网友评论