动态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可触发出错页
时间: 2024-10-24 20:17:52