码迷,mamicode.com
首页 > 其他好文 > 详细

django学习笔记3

时间:2016-06-30 18:00:00      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

动态URL

目前大多数动态web应用程序,url通常都包含有相关的参数。例如:分页的表格/page/1,/page/20

因此,可考虑使用带通配符点url,通过正则表达式匹配参数,从而调用增加参数的视图函数

本例子中实现当前时间n个小时后的时间

url配置如下

from django.conf.urls import *
from myapp.view import hours_ahead
urlpatterns = [
    url(r^time/plus/(\d{1,2})/$,myapp.view.hours_ahead),
]

url函数中正则表达式的r代表这是原始字符串,不需要处理里面的转义字符。/d表示数字,{1,2}表示1到2个数字

视图函数如下:

def hours_ahead(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><ml>" % (offset, dt)
    return HttpResponse(html)

通过以上可以看出,网站中的数字为传向hours_ahead的参数


自顶向下的写法先写url再写视图函数,而自底向上的写法先写视图而后挂接到url上

在函数中加入assert False可触发出错页

 

django学习笔记3

标签:

原文地址:http://www.cnblogs.com/witchgogogo/p/5630672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!