如何让 user_url 零件在现场。com/user_url/gallery/slug 在 DetailView 的情况下?
How to get user_url part being at site.com/user_url/gallery/slug in case of DetailView?
我想在模板中将 link 从 site.com/user_url/gallery/slug
返回到 site.com/user_url/gallery/
使用类似的东西:
<a href="{% url 'profiles_user:profiles_gallery' -->>>????<<<--- %}"
class="btn btn-default">"Come back to all galleries and photos"</a>
我需要提供 user_url
参数而不是 -->>>????<<<---
以获得这样的 url 作为 site.com/user_url/gallery
.
# 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'
?我是否需要使用 get_context_data
才能将 user_url
添加到上下文?
# 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'),
]
在基于 class 的视图中,get_context_data
方法包括 view
视图。因此,您可以使用 view.kwargs.user_url
.
访问 user_url
kwarg
<a href="{% url 'profiles_user:profiles_gallery' view.kwargs.user_url %}">
我想在模板中将 link 从 site.com/user_url/gallery/slug
返回到 site.com/user_url/gallery/
使用类似的东西:
<a href="{% url 'profiles_user:profiles_gallery' -->>>????<<<--- %}"
class="btn btn-default">"Come back to all galleries and photos"</a>
我需要提供 user_url
参数而不是 -->>>????<<<---
以获得这样的 url 作为 site.com/user_url/gallery
.
# 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'
?我是否需要使用 get_context_data
才能将 user_url
添加到上下文?
# 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'),
]
在基于 class 的视图中,get_context_data
方法包括 view
视图。因此,您可以使用 view.kwargs.user_url
.
user_url
kwarg
<a href="{% url 'profiles_user:profiles_gallery' view.kwargs.user_url %}">