2009-11-14 3 views

답변

4

이 방법을 좋아하지 않았어요을 I 그것을 수입하고있었습니다.

솔루션 :

이라는 이름의 URL을 사용하는 것이 좋습니다
from django.contrib.auth.views import login 

(r'^login', login, etc.) 
5

, 그들은 처음에 미래와 입력에 유지 보수 작업을 많이 저장합니다.

URL의 이름을 동일하게 유지하면보기 기능의 이름을 바꾸거나 다른 앱으로 이동할 수 있습니다.이 URL을 사용하여 템플릿이나 다른 장소를 전혀 변경할 필요가 없습니다. urls.py에서

:

url(r'^login/',path.to.view,name='login',...) 

템플릿 :

<a href="{%url login%}">login here</a> 

뷰 :

login_url = reverse('login') 
+0

대단히 감사합니다! – SapphireSun

+0

당신을 환영합니다! – Evgeny

0

나는이 질문에 기여할 수있는 어떤 것을 믿습니다.

제게 이상한 점은 제 코드는 어떻게 사용했는지 이해가되지만 작동하지 않을 수 있다는 것입니다.

내 URL에 다음을 시도했습니다. helloworld는 내 장고 앱 이름입니다.

import helloworld 
... 
url(r'^test', helloworld.views.home1() , name='home'), 

오류가 발생합니다. 기술적으로 모든 것이 정확하더라도. 나는 GitHub의에 django project site의 소스 코드를 발견하고 그들의 응용 프로그램의 URL을 섹션에 자신의 수입을 할 방법에 대해 살펴했다 django manage startapp

module' object has no attribute 'views' 

에 의해 자동으로 생성 된 파이썬 모듈 내 응용 프로그램을 가져 왔습니다. 가서 github에서이 프로젝트를 살펴보십시오. 대규모 프로젝트 구현을위한 훌륭한 참조 자료입니다. 거기에서 배울 것이 많습니다. https://github.com/django/djangoproject.com.

이것은 가져 오기 및 URL 구성을 수행하는 방법입니다.

from accounts import views as account_views 
... 
url(r'^~(?P<username>[\w-]+)/$', account_views.user_profile, name='user_profile'), 

그래서 나는이 가능성이 가장 높은 응용 프로그램/프로젝트/파이썬 네임 스페이스와는 어떤 일이

import helloworld.views as helloView 
... 
url(r'^test', helloView.home1 , name='home'), 

비슷한에 내 코드를 수정했습니다. 나는 완전히 확신하지 못한다. 하지만 내 코드는 예상대로 작동하며 고유 한 네임 스페이스로 다른 앱을 사용할 수 있습니다. 단지 import app.view as somename이 app/project/python 네임 스페이스 스키마에서 고유해야합니다.