2016-09-07 8 views
0

は、私のようなものを使用してsite.com/user_url/gallery/に戻しsite.com/user_url/gallery/slugからテンプレート内のリンクを取得したい:代わりに-->>>????<<<---の私はsite.com/user_url/galleryのようなURLを取得するためにuser_url引数を提供する必要がDetailViewの場合、user_urlをsite.com/user_url/gallery/slugに登録する方法を教えてください。

<a href="{% url 'profiles_user:profiles_gallery' -->>>????<<<--- %}" 
class="btn btn-default">"Come back to all galleries and photos"</a> 

# site.com/user_url/gallery/slug - gallery details 
class ProfileGalleryDetailView(DetailView): 
    template_name = 'profiles/gallery_detail.html' 

    def get_queryset(self): 
     print(self.__dict__) 
     user = get_object_or_404(UserProfile, user_url=self.kwargs['user_url']) 
     return Gallery.objects.filter(galleryextended__user=user, slug=self.kwargs['slug']).on_site().is_public() 

print(self.__dict__)私を示しています

{'args':(), 'kwargs': {'slug': 'time-sleep', 'user_url': '1-plus-1'}, 
'request': <WSGIRequest: GET '/1-plus-1/gallery/time-sleep/'>, 
'head': <bound method BaseDetailView.get of <profiles.views.ProfileGalleryDetailView object at 0x7fe912b41860>>} 

私はテンプレートにkwargsからから'user_url': '1-plus-1'を取得できますか?コンテキストにuser_urlを追加するには、get_context_dataを使用する必要がありますか?クラスベースのビューで

# Core urls.py 
urlpatterns = [ 
    url(r'^(?P<user_url>[\w.-]+)/', include('profiles.urls', namespace='profiles_user')), 
] 

# profiles.urls 
urlpatterns = [ 
    url(r'^$', views.ProfileDetailView.as_view(), name='profiles_home'), 
    url(r'^gallery/$', views.ProfileGalleryArchiveIndexView.as_view(), name='profiles_gallery'), 
    url(r'^gallery/(?P<slug>[\-\w]+)/$', views.ProfileGalleryDetailView.as_view(), name='profiles_gallery-details'), 
] 

答えて

0

get_context_data方法はviewとして図を含みます。したがってでuser_url kwargにアクセスできます。

<a href="{% url 'profiles_user:profiles_gallery' view.kwargs.user_url %}"> 
関連する問題