2014-10-01 5 views
1

Nginx 서버에서 실행되는 Django 사이트에 대한 로그인 시스템을 설정 중입니다. 다음 디버그 404 페이지가 나타납니다.Django가 urls.py의 변경 사항을 반영하지 않음

Using the URLconf defined in it.urls, Django tried these URL patterns, in this order: 
^admin/ 
^login/ [name='main_login'] 
^$ [name='index'] 
^laptops/ 
^assets/ 
^mardes/ 
^users/ 
^jobs/ 
^static\/(?P<path>.*)$ 
The current URL, account/login/, didn't match any of these. 

이전 버전의 it.urls 파일이 사용 된 것으로 보입니다. 현재는 다음과 같습니다 :

from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from django.conf.urls import patterns, include, url 
from django.views.generic import TemplateView 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)           ), 
    url(r'^account/', include('account.urls', namespace='account'), name='account'  ), 
    url(r'^laptops/', include('laptops.urls', namespace='laptops')      ), 
    url(r'^assets/', include('assets.urls', namespace='assets')      ), 
    url(r'^mardes/', include('mardes.urls', namespace='mardes')      ), 
    url(r'^users/', include('users.urls', namespace='users')      ), 
    url(r'^jobs/', include('jobs.urls', namespace='jobs')      ), 
    url(r'^',  TemplateView.as_view(template_name='it/index.html'), name='index' ), 
) + staticfiles_urlpatterns() 

알 수 있듯이 '로그인 /'패턴이 없습니다.

내 settings.py 파일에서 LOGIN_URL을 '/ account/login /'로 설정했지만 @login_required 데코레이터가 '/ login /'을로드하고 있습니다. @login_required 호출에서 login_url = '/ account/login'을 지정하면 새 URL도 무시됩니다.

Nginx를 다시 시작했으며 (시작 및 중지와 '재시작'을 모두 실행 함),이 작업은 전혀 다릅니다. 나는 또한 'sendfile = off'를 nginx.conf 파일에 설정했다. 나는 어딘가에 저장된 캐시 (re : How to clear the cache of nginx?)를 추측하고있다.

자세한 내용이 필요하면 알려주십시오.

+0

모든'pyc' 파일을 삭제 해 보셨습니까? '찾는다. -name \ *. pyc -type f -delete' – michaelb

+0

@michaelb 예, 불행히도 변경하지 않았습니다. – bcvery1

+0

django 서버를 어떻게 실행하고 있습니까? uwsgi를 통해 ...? – michaelb

답변

2

Nginx는 장고를 단독으로 실행하지 않지만 uwsgi 또는 gunicorn과 같은 wsgi 응용 프로그램 서버와 상호 작용해야합니다.

아마도 nginx 대신 wsgi 응용 프로그램 서버를 다시 시작해야합니다.

+0

은 uwsgi를 완전히 잊어 버렸습니다. 감사합니다! – bcvery1

+0

Gunicorn :'sudo service gunicorn restart' –

0

좋은 catch @ bcvery1. 또한 승객을 통해 django 응용 프로그램을 실행하는 사람들을 위해 nginx를 다시 시작하거나 restart.txt 파일을 다시 작성하면 이러한 변경 사항을 볼 수 있습니다.

관련 문제