Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 避免在Django URL上重复_Python_Django - Fatal编程技术网

Python 避免在Django URL上重复

Python 避免在Django URL上重复,python,django,Python,Django,我正在官方网站上制作Django教程,目前我正在使用我们正在创建的示例投票应用程序 到目前为止,我的polls/url.py如下所示: from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='det

我正在官方网站上制作Django教程,目前我正在使用我们正在创建的示例投票应用程序

到目前为止,我的
polls/url.py
如下所示:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.votes, name='vote')
]
urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/', include([
        url(r'^$', views.detail, name='detail'),
        url(r'^results/$', views.results, name='results'),
        url(r'^vote/$', views.votes, name='vote'),
    ]),
]
从django.conf.url导入url
从…起导入视图
URL模式=[
url(r'^$',views.index,name='index'),
url(r'^(?P[0-9]+)/$',views.detail,name='detail'),
url(r'^(?P[0-9]+)/results/$',views.results,name='results'),
url(r'^(?P[0-9]+)/vote/$',views.votes,name='vote')
]

我忍不住注意到
(?p[0-9]+)
的重复,所以我想知道除了将其提取为常量(如
QUESTION\u PATTERN=(?p[0-9]+)

之外,是否还有更简单的方法来避免这种情况,您可以包括一系列子模式,如下所示:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.votes, name='vote')
]
urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/', include([
        url(r'^$', views.detail, name='detail'),
        url(r'^results/$', views.results, name='results'),
        url(r'^vote/$', views.votes, name='vote'),
    ]),
]
urlpatterns=[
url(r'^$',views.index,name='index'),
url(r'^(?P[0-9]+)/',包括([
url(r'^$',views.detail,name='detail'),
url(r“^results/$”,views.results,name='results'),
url(r“^vote/$”,views.votes,name='vote'),
]),
]

太好了!这就是我要找的。