如何将URL中的变量传递给django中的视图?
问题描述:
简单的问题。如何将URL中的变量传递给django中的视图?
如何将URL中的变量传递给视图?我正在关注Date Example。
我的观点需要的参数:
def hours_ahead(request, offset):
我url.py有这个”
(r'^plus/\d{1,2}/$', hours_ahead),
我知道我需要通过传递另一个说法,但我不知道怎么弄的(例如'time/plus//'。类似这样的内容?
(r'^plus/\d{1,2}/$', hours_ahead, offset=??),
答
我不知道我理解你的问题清楚。这是我根据我的理解回答的镜头。
添加named regex group你的URL配置应该有所帮助:
(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
这将让你保持现有的视图:
def hours_ahead(request, offset):
...
答
您可以添加额外的变量是这样的:
(r'^plus/\d{1,2}/$', {'hours' : 5}, hours_ahead),
此致敬礼!
答
从chapter 3 of the django book:
现在我们已经指定的URL通配符,我们需要的 的方式,通配符数据传递到视图功能,让我们可以用一个 单一视图功能任意小时偏移。我们通过 在URL模式中的数据周围放置括号来表示我们想要 保存。在我们的例子中,我们要保存的任何数量的URL进入 ,所以让我们把周围的\ d {1,2}括号,像这样 :
(r'^time/plus/(\d{1,2})/$', hours_ahead),
如果你熟悉正则表达式,你会在这里在家 ;我们使用圆括号从匹配的文本中捕获数据。
您的网址只有一个数字。只有一个。那个号码是什么?小时提前或抵消? – 2010-08-27 10:26:34