0

ユーザープロファイルを表示する次のビューがあります。

@login_required
def user_profile(request):
    return render_to_response('registration/profile.html',context_instance=RequestContext(request))

request.userテンプレートの変数を介してユーザー情報にアクセスします。

URLを持っている方が簡単かもしれないと思っていましたがdirect_to_template、リクエストコンテキストはそこにありません。

これを行うためのより良い方法はありますか?ありがとう

4

1 に答える 1

3

もう1つの方法は、TemplateViewを使用することです。

url(r'^...$', TemplateView.as_view(template_name='registration/profile.html'), name='...'),

ただし、direct_to_templateのソースコードによると:

def direct_to_template(request, template, extra_context=None, mimetype=None, **kwargs):
    """ 
    Render a given template with any extra URL parameters in the context as
    ``{{ params }}``.
    """
    if extra_context is None: extra_context = {}
    dictionary = {'params': kwargs}
    for key, value in extra_context.items():
        if callable(value):
            dictionary[key] = value()
        else:
            dictionary[key] = value
    c = RequestContext(request, dictionary)
    t = loader.get_template(template)
    return HttpResponse(t.render(c), content_type=mimetype)

direct_to_templateはRequestContextを使用します。

于 2012-08-24T20:39:51.590 に答える