为什么'^(?[0-P<;id>;9]+;)/$';在django中不是有效的正则表达式?
我刚刚创建了一个新的不同的url和视图。在此之后,将显示此错误。。 新创建的url和视图如下所示为什么'^(?[0-P<;id>;9]+;)/$';在django中不是有效的正则表达式?,django,python-2.7,Django,Python 2.7,我刚刚创建了一个新的不同的url和视图。在此之后,将显示此错误。。 新创建的url和视图如下所示 url(r'^$', views.DeleteContent, name="delete"), 视图: def DeleteContent(request, id): if not request.user.is_authenticated(): return redirect('accounts:login') todo = get_object_or_404(
url(r'^$', views.DeleteContent, name="delete"),
视图:
def DeleteContent(request, id):
if not request.user.is_authenticated():
return redirect('accounts:login')
todo = get_object_or_404(ToDo, id=id)
todo.delete()
return render(request,"index.html")
url(r'^(?P\d+/$),DeleteContent,name='delete')
您的正则表达式在Django中不是无效的,它在任何地方都是无效的。我想你刚才打错了
regex^(?[0-P9]+)/$
完全无效,请按所述将其放入,然后查看它的说明:
不完整的组结构(?
组结构不完整)
url(r'^articles/(?P[0-9]{4})/$,views.year\u存档)
这是今年的url正则表达式示例。看看它是如何格式化的
您应该像这样编写正则表达式,以使其有效:
^(?P<id>[0-9]+)/$
^(?P[0-9]+)/$
它表示一个id
参数,该参数是数字([0-9]+
)
编辑:或者您可以使用
\d+
而不是[0-9]+
,因为它更简单,并且说“id
是一个数字
”,因为它在任何地方都不是有效的正则表达式?尝试将其放入例如,您将看到错误的解释。您需要将此[0-
部分移到
之后,因此它将是^(?P[0-9]+)/$
,这意味着id
参数是一个数字。但如果这是您的意思,\d
比[0-9]
更惯用。
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive)
^(?P<id>[0-9]+)/$