Python Django中命名URL之间的差异?
Django中这两个命名URL之间有什么区别Python Django中命名URL之间的差异?,python,django,django-urls,Python,Django,Django Urls,Django中这两个命名URL之间有什么区别 re_path('articles/(?P<year>[0-9]{4})/', views.year_archive), path('articles/<int:year>/', views.year_archive), re_path('articles/(?P[0-9]{4})/',views.year_存档), 路径('articles/',views.year_archive), 他们似乎也这么做了? path
re_path('articles/(?P<year>[0-9]{4})/', views.year_archive),
path('articles/<int:year>/', views.year_archive),
re_path('articles/(?P[0-9]{4})/',views.year_存档),
路径('articles/',views.year_archive),
他们似乎也这么做了?
是django 2.0中添加的一种新的url定义样式,它有自己的标记path
是一种更高级的方法,要求您为url编写自己的正则表达式。这是djangore_path
中使用的所有url模式都接受任何整数值的方法。
中的正则表达式缺少re_path
和^
,这可能会导致意外行为。@Alasdair^$如果re_路径在包含的url中,则不需要它。如果没有$
和^
,正则表达式将匹配$
以及too/articles/2000/bar
。不管它是否包含url,re_路径不是旧式的。但是,如果我错了,请纠正我,谢谢。是的,它在django 2.0中是新的,但它使用老式的正则表达式标记来定义URL。我的意思是,当使用Reu path时,您需要使用正则表达式。我使用哪一个?使用路径更容易使用并标记此答案articles/2000/