django"动态网页","动态url","调试方法"

时间:2021-07-28 22:10:01

一、动态网页

  其实只是每次刷新时,获取最新时间而已

  1、urls.py

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

urlpatterns = patterns('',
(r'^$','django_web_app.views.home_page'),
(r'^latest_books/$', 'django_web_app.views.latest_books'),
(r'^current_datetime/$', 'django_web_app.views.current_datetime'),
)

  2、views.py

#coding:utf-8
from django.http import HttpResponse
from django.shortcuts import render_to_response
from models import Book
import datetime def latest_books(request):
#倒叙获取最新出版的10本书
book_list = Book.objects.order_by('-pub_date')[:10]
return render_to_response('latest_books.html', {'book_list': book_list}) def home_page(request):
return render_to_response('home_page.html') def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)

  3、运行结果:

    aaarticlea/png;base64,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" alt="" />

二、动态url

  其实就是用正则表达式,使多个不完全确定的url对应一个“视图函数”

  1、urls.py

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

urlpatterns = patterns('',
#...
(r'^current_datetime/plus/(\d{1,2})/$', 'django_web_app.views.hour_plus'),
)

  说明如果不需要将\d{1,2}作为参数,则可以不加括号,访问效果不受影响。

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

urlpatterns = patterns('',
#...
(r'^current_datetime/plus/\d{1,2}/$', 'django_web_app.views.hour_plus'),
)

  关于r的作用:

    告诉Python这是个原始字符串,不需要处理里面的反斜杠(转义字符)。

   在普通Python字符串中,反斜杠用于特殊字符的转义。由于反斜杠在Python代码

  和正则表达式中有冲突,因此建议在Python定义正则表达式时都使用原始字符串。

  附:普通python里的一些转义字符:

  http://www.cnblogs.com/allenblogs/archive/2011/04/28/2031477.html

  2、views.py中新增部分:

def hour_plus(request, offset):
try:
offset = int(offset)
except ValueError:
raise Http404()
dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt)
return HttpResponse(html)

  说明:offset 是从匹配的URL里提取出来的,捕获的参数永远是字符串(string)类型,而

    不会是整数(integer)类型,要使用整数必须类型转换。

  3、运行结果:

   1)不可匹配的url

   aaarticlea/png;base64,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" alt="" />

   2)可匹配的url

   aaarticlea/png;base64,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" alt="" />

三、出错与调试习惯

  django出错页可以显示足够多的相关信息,开发中尽量通过“出错页面”来调试,而不是到处使用print。

  eg:查看各个局部变量的值

def hour_plus(request, offset):
try:
offset = int(offset)
except ValueError:
raise Http404()
dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
assert False
html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt)
return HttpResponse(html)

   此处使用了assert False

   运行结果:

   aaarticlea/png;base64,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" alt="" />

   说明:Django 出错信息仅在 debug 模式下才会显现,Django 服务器在你开启它时默认运行在 debug 模式,

     但是实际部署的时候需要禁用debug模式。

   参考:http://djangobook.py3k.cn/2.0/chapter03/