2016-12-04 1 views
0

다음은 내 코드에 지정된 URL 패턴입니다.Django에서 잘못된 기능으로 이동합니다.

from . import views 
from django.conf.urls import url 

urlpatterns = [ 
url(r'^$', views.index, name='index'), 
url(r'^(?P<uuid>[\w\-]+)/$', views.detail, name='detail'), 
url(r'^layout/$', views.layout, name='layout'), 
] 

나는 세 가지 기능은

그러나
def detail(request,uuid) 
def index(request) 
def layout(request): 

로 지정한 나는 '레이아웃'키워드를 입력 할 때마다, 나는 다음과 같은 오류 얻을 : 기본적으로 요청이 의미

Traceback: 

File "C:\Python27\lib\site-packages\django\core\handlers\exception.py" in inner 
    39.    response = get_response(request) 

File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in _get_response 
    187. response = self.process_exception_by_middleware(e, request) 

File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in _get_response 
    185. response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "C:\Users\Aditya Ranganath\PycharmProjects\untitled\untitled1\polls\views.py" in detail 
    38.  path = Attribute[0]['Path'] 

Exception Type: IndexError at /polls/layout/ 
Exception Value: list index out of range 

을 잘못된 기능으로 보냈습니다. 디버깅 한 후에 함수가 세부 함수로 들어간 것을 알게되었습니다.

왜 이런 일이 발생하는지 알려주세요.

감사합니다!

+1

위의 정규 표현식에도'layout /'이 적합합니다. 더 구체적으로 만드십시오! –

+0

처음에는 레이블이 layoutFacilities_A였습니다. 여전히 효과가 없었습니다. –

답변

2

이 시도 :

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^layout/$', views.layout, name='layout'), 
    url(r'^(?P<uuid>[\w\-]+)/$', views.detail, name='detail'), 

]

를 다른 단어, 세부 전에 이동 레이아웃에서. 왜냐하면 정규 표현식 또한 용어와 일치 할 수 있기 때문에 layout

+0

위에서 쓴 것처럼,/layout /과 같은 url을 입력하면 URL에 상세히 사용 된 regex (? P [\ w \ -] +)와 일치합니다. –

관련 문제