Django 2+:使用PATH的可选URL,而不创建多个URL

时间:2019-07-10 03:49:34

标签: python django url

我有这个网址

path('<slug>/thank_you/<user_id>', thank_you, name='thank_you'),

我希望<user_id>是可选的,但我不想这样创建2个

path('<slug>/thank_you', thank_you, name='thank_you'),
path('<slug>/thank_you/<user_id>', thank_you, name='thank_you2'),

我知道您可以使用正则表达式将其设置为可选,但是如果您使用的是Django <2(使用url,而不是路径)

我如何获得这个?

1 个答案:

答案 0 :(得分:0)

您可以使用URL Query String。例如:

# URL
path('/thank_you/', thank_you, name='thank_you'),

# View
def thank_you(request, slug):
    user_id = request.GET.get('from')
    # rest of the code

# Example route
http://localhost:8000/dummy-slug/thank_you/?from=dummy_user_id