2012-05-21 3 views
5

그래서 내가 장고 응용 프로그램을 추가, 그리고 난 URL을 방문하지 슬래시 후행 :장고는

http://127.0.0.1:8000/stories 

을 그리고 난이 얻을 :

Request Method:  GET 

Request URL: http://127.0.0.1:8000/stories 

"stories" does not exist 

다음 내가 urls.py를 체크 아웃

#stories 
url(r'^stories/$', 
    StoryShowView.as_view(
     context_object_name='story_list', 
     template_name='accounts/viewAndAddStory.html') 
), 

을 마지막으로, 난 내 settins.py을보고 난 다음을 참조하십시오 : 그리고 볼

#appends a slash if nothing is found without a slash. 
APPEND_SLASH = True 

위와 같이 APPEND_SLASH를 설정하면 슬래시가없는 URL이 슬래시가있는 URL로 리디렉션되고 301 다음으로 웹 페이지가로드되지 않아야합니까?

내가 일 경우을 수동으로 URL에 추가하면 예상대로 페이지가로드되고 모두 차를 마시고 일찍 퇴색합니다.

UPDATE :

나는 또한 내 settings.py에서이 항목이

:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
) 

UPDATE : 내가 URL을 액세스하려고 페이지의 오류 메시지에서

:

장고 버전 : 1.3.1

SOLVED : okm가 돈을 벌어 들였습니다. 문제는 내 URL을했다 - 바로 아래에, 난이 있었다 : - 그들이 있었다 모두 단지

if settings.DEBUG: 
    urlpatterns += patterns('', 
     url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], 
     'django.views.static.serve', 
     {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}) 
    ) 

은, 그러나, MEDIA_URL과 MEDIA_ROOT 내 settings.py에 입력되지 않은 것을하지 내가 가진 무엇을 빈 문자열 ('')

URL을 찾는 것은 내가 입력 한 모든 URL을 찾는 것이므로 CSS 항목이라고 생각합니다. media_root (폴더 내 css etc 파일) 및 media_url (정적 파일을 가져 오기 위해 사용하고있는 URL) 값을 모두 입력했는데 모두 좋았습니다.

+1

당신은 (['django.middleware.common.CommonMiddleware'] https://docs.djangoproject.com/en/1.4/ref/middleware/#django.middleware.common이 있습니까.CommonMiddleware')를 사용 하시겠습니까? –

+0

예, 저기에도 있어요 – bharal

+0

장고 버전은 무엇입니까? 그것을 확인하는 것이 좋을지도 모른다 ... – FallenAngel

답변

9

"does not exist""Page not found"과 같이해야한다. 따라서 정상적인 404 페이지가 아니라 404 페이지가 잘못 구성된 urlconf에서 잘못 일치하여 발생하는 것으로 의심됩니다. 예를 들어, 나는 django.views.static.serve 당신은 static.serve 같은 전망은 /stories 등의 경로와 일치하지 않도록하기 위해 urls.py을 확인할 수 Http404('some_path does not exist') 올릴 것을 발견?

일치하는 항목이있는 경우 Django는 접미사 슬래시를 추가하지 않고 자동으로 리디렉션합니다.

당신은 실제로 일치됩니다 볼 수있는 알고

from django.core.urlresolvers import resolve 
resolve('/stories') 

으로 확인할 수 있습니다.

+0

아. 당신이 옳았! 나는 슬래시가없는 일부 페이지에서 "페이지를 찾을 수 없음"오류를 * 받았지만 저를 버렸습니다. 질문에 대한 설명. – bharal