1

非常に単純な質問には、非常に単純な解決策が必要です。元のコンテキストを含めたまま、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)

これはうまくいきませんでした、これは正しい方法ですか?それを行うエレガントな方法はありますか?または、ビューをビューにコピーしてそこから編集する唯一のオプションですか?

4

1 に答える 1

0

このようにコードを編集できますか?

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)
于 2013-05-20T16:06:43.343 に答える