“Hello World”只是简单的展现了Django 基本的工作机制,但它不是动态的网页。第二个View我们将创建一个动态的网页,该页面上将展现当前的时间和日期。

该View需要做两件事,第一,计算当前的日期和时间,第二,返回一个HttpResponse包含计算的结果。代码如下:

>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(, , , , , , )
>>> print now
-- ::39.002731

以上是Python中如何获取时间和日期的方法,在Django中,只需要引用datetime.datetime.now()语句到View中:

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)

如同hello View一样,这段代码放在Views.py文件中,Views.py 的代码如下:

from django.http import HttpResponse
import datetime
def hello(request):
return HttpResponse("Hello world")
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)

我们来一步一步总结需要改动Views.py的地方:

1.添加import datetime,以便可以计算时间

2.新的current_datetime函数用来计算当前时间

3.返回的HTML对象

4.HTML标签没用,这里只是保持简洁

5.最后,返回HTTPResponse对象

修改完views.py文件,下面我们将指定URL到给该函数:

from django.conf.urls.defaults import *
from mysite.views import hello, current_datetime
urlpatterns = patterns('',
('^hello/$', hello),
('^time/$', current_datetime),
)

OK,至此我们的第二个动态页面已经完成,刷新一下页面并且访问:http://127.0.0.1:8000/time/看看。

The Definitive Guide To Django 2 学习笔记(二) 第二个View 动态内容的更多相关文章

  1. The Definitive Guide To Django 2 学习笔记(七) 第四章 模板 (三)使用模板系统

    接下来,我们开始学习如何使用模板系统,但我们并不和前面说的View相结合,我们的这里的目的是展示模板系统是如何独立于Django框架运行的.下面是在pyhon代码中使用Django模板系统的基础例子: ...

  2. The Definitive Guide To Django 2 学习笔记(九) 第五章 模型 (一)数据库访问

    以MySql数据库为例,先到http://dev.mysql.com/downloads/connector/python/处下载MysqlConnector for python的连接器. from ...

  3. The Definitive Guide To Django 2 学习笔记(八) 第四章 模板 (四)基本的模板标签和过滤器

    标签 下面的部分概述了常见的Django标签. if/else {%if%} 标签 对一个变量值进行测试,如果结果为true,系统将会显示在{%if%} 和 {%endif%}之间的一切,看个例子: ...

  4. The Definitive Guide To Django 2 学习笔记(六) 第四章 模板 (二)使用模板系统

    模板系统不是django特有的,它是python的一个库,你可以在任何地方使用它. 使用方法: 1.使用 Template()方法创建Template对象.2.调用Template对象的render( ...

  5. The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统

    引入模板系统的原因,view中引入硬编码并非明智的选择,设计上的任何改变都会需要改动代码.python代码和HTML代码应该分开,这是多数Web站点的共识,分开会提高效率. 基本模板系统 Django ...

  6. The Definitive Guide To Django 2 学习笔记(四) 动态URLs

    前面的例子中,虽然时间是动态可变的,但它的URL却是静态的(/time/).很多时候,URL也是需要动态改变,然后展示出不通的内容来.现在我们就来创建一个可以动态改变URL的例子. 如果URLconf ...

  7. The Definitive Guide To Django 2 学习笔记(一) Views and UrL confsRL

    1.如何找到django在Ubuntu下的安装路径: 进入python命令行,import django,print(django.__path__) 2.使用django-admin.py 创建项目 ...

  8. The Definitive Guide To Django 2 学习笔记(三) URLconfs 和松耦合

    前面的例子体现了一个设计模式中的重要思想,松耦合. 不论我们是将/time/改成/current_time/,还是新建一个/another-time-page/同样指向views.py中的 curre ...

  9. (转)Qt Model/View 学习笔记 (二)——Qt Model/View模式举例

    Qt Model/View模式举例 Qt提供了两个标准的models:QStandardItemModel和QDirModel.QStandardItemModel是一个多用途的model,可用于表示 ...

随机推荐

  1. nginx最大并发连接数的思考:worker_processes、worker_connections、worker_rlimit_nofile

    参考nginx官网:http://nginx.org/en/docs/ngx_core_module.html#worker_connections 从用户的角度,http 1.1协议下,由于浏览器默 ...

  2. Spark Streaming no receivers彻底思考

    数据接入Spark Streaming的二种方式:Receiver和no receivers方式 建议企业级采用no receivers方式开发Spark Streaming应用程序,好处: 1.更优 ...

  3. Swing JTable 具体解释

    改变列头 flightTable.getTableHeader().setDefaultRenderer(new TableCellRenderer() { public Component getT ...

  4. git 批量删除文件夹和文件

    git 批量删除文件夹和文件 硬盘删除文件后,执行$ git status   会提示你仍然需要$ git rm <文件>   此时如果是要删除大批量文件,这么一个一个命令下去不得累死人啊 ...

  5. Java死锁举例

    死锁: 在多线程竞争使用共享资源的情况下.就有可能出现死锁的情况.比方,当一个线程等待还有一个线程所持有的锁时.那个线程又可能在等待第一个线程所持有的锁.此时.这两个线程会陷入无休止的相互等待状态.这 ...

  6. Win7如何设置标准账号无法访问我的D盘

    1 右击对应的盘符,选择属性 2 设置对应的权限,比如是否可读,是否可写 3 之后再用这种用户登录就可以知道相应的权限了

  7. JMeter 十五:函数以及变量

    参考:http://jmeter.apache.org/usermanual/functions.html 函数以及参数引用 JMeter 函数引用方式如下: ${__functionName(var ...

  8. spring cloud jackson 枚举json互转 枚举json序列化/反序列化

    先定义一个枚举基类 import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonDeserialize(using = ...

  9. [leetcode]Path Sum--巧用递归

    题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...

  10. 【VBA编程】06.控制语句

    [IF...THEN...语句] If condition Then [statements1] else [statements2] end if condition 为一个逻辑表达式,表示做选择时 ...