非常に単純な質問には、非常に単純な解決策が必要です。元のコンテキストを含めたまま、profile_detail というプロファイル ビューに追加のコンテキストを追加する必要があります。これがユーザービューです。
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)
これはうまくいきませんでした、これは正しい方法ですか?それを行うエレガントな方法はありますか?または、ビューをビューにコピーしてそこから編集する唯一のオプションですか?