Django URL 不使用括号

Django URL not working with parenthesis

我的 urls.py 中有一个看起来像这样的 URL:

url(r'^ex/(?P<example>[\w ]+)$', views.example, name = 'example')

我的一个变量如下所示:/ex/(something)/。我收到 URL 未找到的 404 页面,我知道它与括号有关。如何在不更改变量的情况下解决此问题?

url(r'^ex/(?P<example>.*)$', views.example, name = 'example')

() 添加到您的 example 组的角色 class。

url(r'^ex/(?P<example>[\w ()]+)$', views.example, name='example'),

您必须检查您的观点

def example(request, example):
    # your logic view
    return render(request, 'example.html', {'example': example})

如果您使用 get_object_or404 并且模型不存在 Django return 404 代码

和 url 应该是这样的:

url(r'^ex/(?P<example>[\w]+)$', views.example, name = 'example')

url(r'^ex/(?P<example>[a-zA-Z]+)$', views.example, name = 'example')

在url中,Django使用正则表达式使你的url。另外,如果你使用括号,你必须转义它