2010-07-01 8 views
0

Django를 사용 중이며 프로젝트의 urls.py 파일에 다음 URL이 있습니다.Django 외부 앱의 URL 매개 변수

(r'^user/(?P<username>[\w_\-\.]+)/my_app/', include('my_app.urls')), 
(r'^user/(?P<username>[\w_\-\.]+)/my_other_app/', include('my_other_app.urls')), 
... 

목표는 사용자의 사용자 이름을 사용하는 응용 프로그램을 보유하는 것입니다. 모든 사용자가 프로필 페이지를 가지고있는 프로필 응용 프로그램. 이 애플리케이션의보기 하나만 URL에있는 사용자 이름 (프로필 페이지를 렌더링하는 사용자)을 필요로하지만 모든보기는 아무 것도하지 않아도 username 매개 변수를 사용해야합니다.

URL 매개 변수의 사용은 잘못된 것입니다. 왜냐하면 모든보기에 my_app의 모든보기가 사용자 이름을 매개 변수로 사용하기 때문입니다 (URL 전달자에서 전달되므로). 내게는 외부 구성 요소 (프로젝트의 urls.py 파일)가 어떤 매개 변수를 취해야 하는지를 my_app의 URL에 알리는 것은 의미가 없습니다.

이 사용법은 정확합니까? 그렇지 않다면 어떻게해야합니까?

답변

0

이상하게 보입니다.

대신 사용자 이름 매개 변수를 찾기 위해 앱을 전환 할 수 있습니까? my_app.urls 및 후자의 경우 필요한 필드의 조회에 username 필드가 있습니다.

/user/my_app/friends/hekevintran/

/user/my_other_app/connections/bartek/

은 단지뿐만 아니라 작동하고 사용자 이름에 대한 루트 프로젝트의 컨텍스트에 의존하여 앱을 강제하지 않는 :

그 방법은 구조가 더 좋아 보인다 .

+0

"필요한 필드에 사용자 이름 필드가 있습니다"라고 설명해 주시겠습니까? 나는 정말로 이해하지 못한다. – hekevintran