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

        注:以下内容转载自 现代魔法学院 网站的 再写一个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 代码了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值