码迷,mamicode.com
首页 > 其他好文 > 详细

Django模板3

时间:2014-07-16 23:01:03      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   

在视图中使用模板

之前我们已经有了自己的视图mysite.views.py中,应该是这样子的

from django.http import HttpResponse
import datetime

def current_dt(request):
    now = datetime.datetime.now()
    html = "<html><body>it is now %s.</body></html>" % now
    return HttpResponse(html)

让我根据Django模板1 和 Django模板2的内容,改造一下,使用模板。

我创建了一个新的视图文件,temp.py,改造后代码如下

 1 import datetime
 2 from django.template import Template,Context
 3 from django.http import HttpResponse
 4 
 5 def current_datetime(request):
 6     now = datetime.datetime.now()
 7     t=Template(<html><body>time now is {{current_date}}</body></html>)
 8     c=Context({current_date:now})
 9     html = t.render(c)
10     return HttpResponse(html)

导入模块datetime是获取当前时间使用。

导入django.template的Template和Context是为了调用模板。

还记得使用方法吗?

 写模板,创建 Template 对象,创建 Context , 调用 render() 方法。

导入django.http的HttpResponse是为了返回相应,生成最终的web页面。

别忘了在urls.py中配置访问路径,如下两句就不多解释了。

from temp import *
url(r^time/$,current_datetime),

好,我们运行一下试试效果吧。

bubuko.com,布布扣

bubuko.com,布布扣

我们试着给他增加一个过滤器。修改这一行即可。

t=Template(<html><body>time now is {{current_date|date:"F j, Y"}}</body></html>)

bubuko.com,布布扣

 

到此为止,我们的网站已经使用了模板系统,但是并没有解决我们的问题,也就是说,模板仍然嵌入在Python代码里,并未真正的实现数据与表现的分离。 下一篇,让我们将模板置于一个 单独的文件 中,并且让视图加载该文件来解决此问题。

 

 

Django模板3,布布扣,bubuko.com

Django模板3

标签:style   blog   http   color   使用   os   

原文地址:http://www.cnblogs.com/wang-shuai/p/3835383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!