ユーザーがお互いのプロファイルを表示できる認証を使用する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回目:これでいいの?または、これを他の方法で行う必要がありますか?