动态内容

来源:互联网 发布:淘宝开通花呗要求什么 编辑:程序博客网 时间:2024/05/16 07:13

“Hello World”视图是为了说明Django的基本运作方式,但是这是个静态的页面

所以我们来创建一个动态视图

计算当前的时间和日期,然后返回包含值的HttpResponse对象。

我们用到Python的datetime模块,用于计算日期

>>> import datetime>>> now=datetime.datetime.now()>>> nowdatetime.datetime(2017, 8, 31, 20, 19, 51, 106434)>>> print(now)2017-08-31 20:19:51.106434

这是常规的Python代码,不是Django专属代码,若想在Django视图中显示当前的日期和时间,需把 datetime.datetime.now() 语句放到一个视图中,然后返回一个 HttpResponse 对象。

我们在views.py中更新下列代码:

from django.http import HttpResponseimport datetimedef hello(request):return HttpResponse("Hello world")def datetime_(request):now = datetime.datetime.now()html = "It is now %s." % nowreturn HttpResponse(html)

同时在urls.py中告诉Django,哪个URL使用这个视图处理

• 在模块顶部添加了 import datetime,计算日期。• 添加datetime_函数计算当前日期和时间,得到的结果是一个 datetime.datetime 对象,存储在局部变量 now 中。•%s是占位符,替换成 now 变量的值”。now变量的值是一个datetime.datetime对象,%s格式字符会把它转换成字符串表示形式•包含 HTML 字符串的 HttpResponse 对象——这与 hello 视图所做的一样。

这里用/time/:

from django.conf.urls import include, urlfrom django.contrib import adminfrom mysite.views import hello, current_datetimeurlpatterns = [url(r'^admin/', include(admin.site.urls)),url(r'^hello/$', hello),url(r'^time/$', current_datetime),]

运行结果为:

原创粉丝点击