这是浅显的,但我不能得到正确的Django的URL模式:有两个参数
我在urls.py宣布以下视图功能
(r'^v1/(\d+)$', r'custom1.views.v1'),
原来我经过一单个参数到视图函数v1。 我想修改它来传递2个参数。如何在urls.py中声明条目以获取两个参数?
这是浅显的,但我不能得到正确的Django的URL模式:有两个参数
我在urls.py宣布以下视图功能
(r'^v1/(\d+)$', r'custom1.views.v1'),
原来我经过一单个参数到视图函数v1。 我想修改它来传递2个参数。如何在urls.py中声明条目以获取两个参数?
我相信每个组中的正则表达式作为参数传递(如果你愿意,你可以为它们命名):https://docs.djangoproject.com/en/dev/topics/http/urls/:在
(r'^v1/(\d+)/(\d+)/$', r'custom1.views.v1')
退房的例子。你也可以命名你的组。
假设你想要的网址看起来像v1/17/18
,并获得两个参数17
和18
,你可以声明模式为:
(r'^v1/(\d+)/(\d+)$', r'custom1.views.v1'),
确保v1
接受,除了要求对象有两个参数:
def v1 (request, a, b):
# for URL 'v1/17/18', a == '17' and b == '18'.
pass
在documentation about the URL dispatcher的first example包含几个模式,其中最后的取2点3的参数。
沿线的某处我习惯于直接在正则表达式中命名它们,尽管老实说我不知道它是否有所作为。
#urls:
(r'^v1/(?P<variable_a>(\d+))/(?P<variable_b>(\d+))/$', r'custom1.views.v1')
#views:
def v1(request, variable_a, variable_b):
pass
此外,它是非常的Django以斜线结束URL - Django Design Philosophy,仅供参考