您的位置:首页 > 编程语言 > Go语言

[Django入门知识浅介]再写一个Django动态程序

2015-10-09 22:50 309 查看
注:以下内容转载自 现代魔法学院 网站的 再写一个Django动态程序 一文,仅供学习使用。

什么?写个 Hello World 不满足?那我们继续深入一下……比如写个显示现在时间的页面。

经过前面 Hello World 的学习,我们也知道写 Django 页面的一般过程。

先把程序写出来

1. 先设计视图函数:

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)


代码很好懂,不多说了,接下来是配置 URL:

from django.conf.urls import patterns, include, url
from views import current_datetime

urlpatterns = patterns('',
('^time/$', current_datetime),
)


现在访问 http://127.0.0.1:8000/time/,可以显示:
It is now 2015-10-09 22:38:06.933430.


动态内容

我们的 Hello world 视图是用来演示基本的 Django 是如何工作的,但是它不是一个动态网页的例子,因为网页的内容一直是一样的. 每次去查看/hello/,你将会看到相同的内容,它类似一个静态HTML文件。

我们的第二个视图,将更多的放些动态的东西例如当前日期和时间显示在网页上,这将非常好,简单的下一步,因为它不引入了数据库或者任何用户的输入,仅仅是输出显示你的服务器的内部时钟。它仅仅有限度的比 Hello World 刺激一些,但是它将演示一些新的概念。

这个视图需要做两件事情: 计算当前日期和时间,并返回包含这些值的HttpResponse 如果你对 python 很有经验,那肯定知道在 python 中需要利用 datetime 模块去计算时间。下面演示如何去使用它:



以上代码很简单,并没有涉及 Django,它仅仅是 Python 代码。需要强调的是,你应该意识到哪些是纯 Python 代码,哪些是 Django 特性代码。因为你学习了 Django,希望你能将 Django 的知识应用在那些不一定需要使用 Django 的项目上。

为了让 Django 视图显示当前日期和时间,我们仅需要把语句:datetime.datetime.now() 放入视图函数,然后返回一个 HttpResponse 对象即可。

让我们分析一下 views.py:

在文件顶端,我们添加了一条语句:import datetime。这样就可以计算日期了。

函数中的第一行代码计算当前日期和时间,并以 datetime.datetime 对象的形式保存为局部变量 now 。

函数的第二行代码用 Python 的格式化字符串(format-string)功能构造了一段 HTML 响应。字符串中的 %s 是占位符,字符串后面的百分号表示用它后面的变量 now 的值来代替 %s 。变量 %s 是一个 datetime.datetime 对象。它虽然不是一个字符串,但是 %s(格式化字符串)会把它转换成字符串,如:2015-10-09 22:38:06.933430
。这将导致HTML的输出字符串为:It is now 2015-10-09 22:38:06.933430。

最后,正如我们上一篇中写的 hello 函数一样,视图返回一个 HttpResponse 对象,它包含生成的响应。

添加上述代码之后,还要在 urls.py 中添加 URL 模式,以告诉 Django 由哪一个 URL 来处理这个视图。用/time/之类的字眼易于理解。

写好视图并且更新 URLconf 之后,运行命令 python manage.py runserver 以启动服务,在浏览器中输入http://127.0.0.1:8000/time/,你将看到当前的日期和时间。

现在,你也学会如何在 Django 中编写 Python 代码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: