• Python开发入门与实战3-Django动态页面


    3.Django动态页面

    上一章节我们实现的helloworld视图是用来演示Django网页是创建的,它不是一个动态网页,每次运行/helloworld/,我们都将看到相同的内容,它类似一个静态HTML文件。

    接下来我们将实现另一个视图,加入动态内容,例如当前日期和时间显示在网页上。通过简单的下一步,来演示Django的这个技术。

    3.1.一个简单的动态页面例子

    这个视图做两件事情: 获取服务器当前日期和时间,并返回包含这些值的HttpResponse 。为了让Django视图显示当前日期和时间,在代码中引入datetime模块,然后要把语句:datetime.datetime.now()放入视图函数,然后返回一个HttpResponse对象即可。代码如下:

    from django.http import HttpResponse
    
    import datetime
    
     
    
    def helloworld(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)

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

    完成添加views.py上述代码之后,同上,在urls.py中添加URL模式,以告诉Django由哪一个URL来处理这个视图。 如下:我们定义/mytime/URL:

    from django.conf.urls import patterns, include, url
    
    from mysite.views import hello,current_datetime
    
     
    
     
    
    # Uncomment the next two lines to enable the admin:
    
    # from django.contrib import admin
    
    # admin.autodiscover()
    
     
    
    urlpatterns = patterns('',
    
        # Examples:
    
        # url(r'^$',   'mysite.views.home', name='home'),
    
        # url(r'^mysite/',   include('mysite.foo.urls')),
    
     
    
        # Uncomment the   admin/doc line below to enable admin documentation:
    
        #   url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    
     
    
        # Uncomment the   next line to enable the admin:
    
        #   url(r'^admin/', include(admin.site.urls)),
    
     
    
        ('^helloworld/$',   hello),
    
        ('^mytime/$',   current_datetime),
    
    )

      写好视图并且更新URLconf之后,运行命令python manage.py runserver运行服务器,在浏览器中输入http://127.0.0.1:8000, 我们将看到增加的mytime页面目录。

                             

    在浏览器中输入http://127.0.0.1:8000/mytime/。 网页将显示当前的日期和时间。

     

    3.2. 小结

    本小节通过一个简单例子展示了动态页面的例子,目前为止HTML源码被直接硬编码在 Python 代码之中,下一章节我们将介绍Django模板系统,如何解决Python代码与页面设计分离的问题。

  • 相关阅读:
    FCOS及其和Faster R-CNN的区别
    CornerNet: Detecting Objects as Paired Keypoints
    神经网络不收敛的原因
    交叉熵损失函数
    Placeholder_2:0 is both fed and fetched
    使用Lambda解决_inbound_nodes错误
    Python对Dict排序
    对Faster R-CNN的理解(3)
    Keras运行速度越来越慢的问题
    深度卷积网络(DCNN)和人类识别物体方法的不同
  • 原文地址:https://www.cnblogs.com/haozi0804/p/4483827.html
Copyright © 2020-2023  润新知