0

ユーザーがお互いのプロファイルを表示できる認証を使用するdjangoアプリがあります。

私のviews.pyで

def display(request, edit=False, pk=None): 
    if not pk:
        pk = request.user.profile.pk

    profile = Profile.objects.get(pk=pk)
    d = get_user_info(profile) # returns a dictionary of some info from a user's profile

    if edit and request.user == profile.user:
        return render(request, 'edit_profile.html', d)
    else:
        return render(request, 'profile.html', d)

テンプレート内で、ユーザーが自分のプロファイルを表示している場合に情報を編集できるリンクをクリックするオプションをユーザーに提供したいと考えています。

{% if request.user == profile.user %}
    <a href="{% url "edit_profile" %}">edit</a>
{% endif %}

これについて 2 つの質問があります。最初: render() を使用すると、テンプレート内
にアクセスできると思いました。requestしかし、それはうまくいきません。私はそれを間違っていますか?renderまたは、辞書を明示的に渡す必要がありますか?

d['request']=request    
return render(request, 'profile.html', d) 

2回目:これでいいの?または、これを他の方法で行う必要がありますか?

4

1 に答える 1