如何在Django URL中创建参数?

时间:2018-12-23 07:44:01

标签: django

我有一个django项目,其中的url就是这样

url(r'^invoice/(?P<invoice_id>[A-Za-z0-9]+)/(?P<order_id>[A-Za-z0-9]+)$',GenerateInvoicePdf,name='invoice'),

生成网址localhost:8000/invoice/2341wq23fewfe1231/3242

但是我希望网址像localhost:8000/invoice?invoice_id=2341wq23fewfe1231&order_id=3242

我尝试了文档,并使用了re_path(r'^comments/(?:page-(?P<page_number>\d+)/)?$', comments),这样的语法,但是没有得到想要的结果。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

?之后要编写的部分称为url query string。您无需在urls.py中定义它们。您可以使用:

re_path(r'^comments/$', comments),

在评论视图中,您可以访问查询字符串,如下所示:

def comments(request):
    invoice_id = request.GET.get('invoice_id')
    order_id = request.GET.get('order_id')
    # rest of the code