[英]Add context to django userena view
非常简单的问题需要一个非常简单的解决方案。 我需要在名为profile_detail的配置文件视图中添加额外的上下文,同时仍要包含原始上下文。 这是userena视图。
def profile_detail(request, username,
template_name=userena_settings.USERENA_PROFILE_DETAIL_TEMPLATE,
extra_context=None, **kwargs):
.........................
.........................
user = get_object_or_404(User,
username__iexact=username)
profile_model = get_profile_model()
try:
profile = user.get_profile()
except profile_model.DoesNotExist:
profile = profile_model.objects.create(user=user)
if not profile.can_view_profile(request.user):
return HttpResponseForbidden(_("You don't have permission to view this profile."))
if not extra_context: extra_context = dict()
extra_context['profile'] = user.get_profile()
extra_context['hide_email'] = userena_settings.USERENA_HIDE_EMAIL
return ExtraContextTemplateView.as_view(template_name=template_name,
extra_context=extra_context)(request)
有人告诉我这行得通。 首先,我将userena视图导入为userena_views
。 然后,我尝试创建我的上下文,然后使用userena视图发送请求,并更改我的URL以指向该视图。
def profileview(request,username):
user=User.objects.get(username=username)
usergigs=Gig.objects.filter(user.id)
extra_context['usergig']=usergigs
return userena_views.profile_detail(request)
这没有用,这是正确的方法吗? 有一种优雅的方法吗? 还是将视图复制到视图中并在其中进行编辑的唯一选择?
您可以像这样编辑代码吗?
def profileview(request,username):
user=User.objects.get(username=username)
usergigs=Gig.objects.filter(user.id)
extra_context['usergig']=usergigs
return userena_views.profile_detail(request, extra_context=extra_context)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.