2011-10-17 4 views
3

현재 사용자 이름에 따라 다른 사용자가 블로그 포스트를 표시하는 '블로그'앱이 있습니다. 이것은 내 urls.py가 보이는 것입니다.urls.py의 변수 (플래그)를 django의 views.py에 전달하십시오.

urlpatterns = patterns('blog.views', 
       url(r'^(?P<blog_author>[^/]+)/$', 'entries', name='blog'), 
       url(r'^(?P<blog_author>[^/]+)/(?P<entry_slug>[^/]+)/$', 'blog_entry', name='blog_entry'), 
     ) 

그래서, blog/authorname/은 특정 저자의 모든 블로그 게시물 항목을 나열합니다 및 blog/authorname/foo-post/은 특정 블로그 게시물을 렌더링합니다. 내가하려는 일은 동창 회원들의 블로그 포스트를 blog/alumni/authornameblog/alumni/authorname/foo-post/으로 영구적으로 리디렉션하는 것입니다. 내 사용자 모델에 사용자가 동창인지 여부를 나타내는 입력란을 추가했습니다.

보기 기능은 기본적으로 일반 사용자와 동창 모두에게 동일합니다. 지금까지 내가 시도한 바는 다음과 같습니다. entries보기 기능에서 동문 회원 확인을 할 수있는 몇 줄을 추가했습니다. 특정 블로그 작성자가 동창 인 경우 HttpResponsePermanentRedirect에서 blogs/alumni/alumni_author/으로 렌더링 부분이 같으므로 같은 entries보기 기능을 호출하십시오. 기본적으로 내 entries 함수는 회원 유형을 확인하려고 시도 중입니다, 일반 및 동창 회원 모두에 대한 렌더링보기.

당신은 세번째 매개 변수를 사용하여보기로 urlconf에서 플래그를 보낼 수 있습니다
+0

방금 ​​URL을'으로 URL을 설정해야한다는 (R을/(? P [^ /] +)/$ ','entries ', name ='blog_alumni '), 그리고 물론 리디렉션을하지 마십시오. –

답변

6

: '^ 동창 그것은 나에게 보이는

url(r'^alumni/(?P<blog_author>[^/]+)/$', 'entries', {'alumni': True}, name='blog'), 
+0

죄송합니다. 조회 기능에서 해당 플래그에 어떻게 액세스합니까? –

+2

정상적인 방법으로 이것은'blog_author'처럼 함수에 매개 변수로 전달됩니다. –

관련 문제