简单的问题。
如何将URL中的变量传递给视图?我正在关注Date Example。
我的观点需要争论:
def hours_ahead(request, offset):
我的url.py有这个“
(r'^plus/\d{1,2}/$', hours_ahead),
我知道我需要传递另一个参数,但我不知道如何从URL字符串中获取数字(即'time / plus / 4 /'。这样的东西?< / p>
(r'^plus/\d{1,2}/$', hours_ahead, offset=??),
答案 0 :(得分:1)
您可以在正则表达式中使用Named groups
(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
答案 1 :(得分:0)
我不确定我清楚地理解你的问题。以下是我根据自己的理解回答的问题。
在您的网址配置中添加named regex group应该会有所帮助:
(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead),
这样可以保留现有视图:
def hours_ahead(request, offset):
...
答案 2 :(得分:0)
您可以添加其他变量:
(r'^plus/\d{1,2}/$', {'hours' : 5}, hours_ahead),
祝你好运!
答案 3 :(得分:0)
来自chapter 3 of the django book:
现在我们已经为URL指定了通配符,我们需要一种方法 将那个通配符数据传递给view函数,这样我们就可以使用了 任意小时偏移的单一视图功能。我们这样做 在我们想要的URLpattern中的数据周围放置括号 保存。在我们的例子中,我们想要保存任何数字 在URL中输入,所以让我们在\ d {1,2}周围加上括号,就像 这样:
(r'^time/plus/(\d{1,2})/$', hours_ahead),
如果你熟悉正则表达式,那么你就会在家里 这里;我们使用括号从匹配的文本中捕获数据。