zoukankan      html  css  js  c++  java
  • Python框架之Django学习笔记(五)

    第一个Django网页小结

    1. 进来的请求转入/hello/。
    2. Django通过在ROOT_URLCONF配置来决定根URLconf。
    3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
    4. 如果找到匹配,将调用相应的视图函数。
    5. 视图函数返回一个HttpResponse。
    6. Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来。

      在url映射到函数部分用到了一些正则表达式的相关知识,在http://www.cnblogs.com/voidy/p/3946451.html中的博文有相关介绍,那些足以写Django网页了,不过如果想写爬虫的话,还是建议系统学习一下正则表达式的知识。

    第一个动态视图

      这个视图需要做两件事情: 计算当前日期和时间,并返回包含这些值的HttpResponse。在Python中这么写的:

    >>> import datetime
    >>> now = datetime.datetime.now()
    >>> now
    datetime.datetime(2014, 8, 31, 10, 39, 40, 234000)
    >>> print now
    2014-08-31 10:39:40.234000

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

     1 from django.http import HttpResponse
     2 import datetime
     3 
     4 def hello(request):
     5     return HttpResponse("Hello world")
     6 
     7 def current_datetime(request):
     8     now = datetime.datetime.now()
     9     html = "<html><body>It is now %s.</body></html>" % now
    10     return HttpResponse(html)

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

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

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

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

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

    1 from django.conf.urls.defaults import *
    2 from mysite.views import hello, current_datetime
    3 
    4 urlpatterns = patterns('',
    5     ('^hello/$', hello),
    6     ('^time/$', current_datetime),
    7 )

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

    评论
  • 相关阅读:
    洛谷 P1498 南蛮图腾
    洛谷 P1538 迎春舞会之数字舞蹈
    洛谷 P1112 波浪数
    洛谷 P1102 A−B数对
    数字量化值Digital Number, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive
    ENVI下基于劈窗算法从MODIS数据中反演海表温度
    ENVI 5.1安装教程
    一些链接
    1、GeometryService计算面积和长度(Calculate_Feature_Length_Or_Area)功能实现
    1、GeometryService的缓冲区(Buffer)功能实现
  • 原文地址:https://www.cnblogs.com/voidy/p/3947418.html
Copyright © 2011-2022 走看看