2014-04-08 2 views
0

내 urls.py는 다음과 같습니다URL 리디렉션이 장고에서 작동하지 않습니까?

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', redirect('home')), 
    url(r"^home/$", 'my_project.views.user_login', name="home"), 
    #url(r'^/$', redirect('home')), 
) 

내가 처리를 위해 동일한보기에 http://127.0.0.1:8000http://127.0.0.1:8000/home을 지시하고 싶습니다. 나는 단순화를 위해 위에 포함되지 않은 다른 url 패턴을 가지고있다. 내가 코멘트 아웃 할 때 두 번째 URLPATTERN (url(r'^$', redirect('home')),를)

ImproperlyConfigured at /home/ 
The included urlconf cmv_project.urls doesn't have any patterns in it 
Request Method: GET 
Request URL: http://127.0.0.1:8000/home/ 
Django Version: 1.6 
Exception Type: ImproperlyConfigured 
Exception Value:  
The included urlconf cmv_project.urls doesn't have any patterns in it 

, 작동 :이 http://127.0.0.1:8000/home/가 액세스 할 때 는 현재는 다음과 같은 오류가 발생합니다. 이 url 패턴을 마지막으로 전환하려고했습니다. 그러나 그것은 여전히 ​​도움이되지 않았습니다. 이 패턴을 사용하면 urls.py에서 다른 URL 패턴을 손상시킬 수 있습니다. 왜 몰라? 이 문제를 해결하는 방법은 무엇입니까?

답변

2

세 번째 URL과 동일한보기에 두 번째 URL을 첨부하려고하면 다음과 같은 메시지가 표시됩니다.

url(r"^$",my_project.views.user_login, name="home") 

또 다른 접근법이 될 수 있습니다.

이 작업이 가능합니까 ??

+0

하지만 리디렉션되지 않고 DRY가 아니십니까? –

+0

그것은 매우 조잡한 연출 방법이지만 작동하지는 않습니다. – Ishan070692

0

나는 this question과 비슷하다고 생각합니다. 기본적으로 redirect에 이름을 사용하면 reverse을 사용하여 찾을 수 있습니다. example 2 here을 참조하십시오. 대신 reverse_lazy을 사용해야합니다.

는이 문제를 해결하려면 다음 중 하나가 할 수있는 :

redirect(reverse_lazy('home')) 

또는 : 첫 번째 옵션을 할 경우, 당신은 reverse_lazy를 가져올해야한다는

redirect('home/') 

참고. 두 번째 옵션을 사용하면 하드 코드 된 것이므로 이상적이지 않습니다.

+0

두 가지 모두 도움이되지 않았습니다. 죄송합니다.. –

관련 문제