У меня есть приложение django, использующее аутентификацию, где пользователь может просматривать профили друг друга.Вызов информации из запроса внутри шаблона 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 %}
У меня есть два вопроса об этом.
Во-первых: Я думал, используя render() позволило мне получить доступ к request
внутри шаблона. Однако это не работает. Я делаю это неправильно? Или мне нужно явно передать render
со словарем?
d['request']=request
return render(request, 'profile.html', d)
Второй: Это нормально? Или я должен делать это по-другому?
Да, вы можете использовать словарь или запрос на обработку контекста, но с этим последним вам нужно добавить дополнительные настройки в settings.py – drabo2005
показать часть модели, она будет более полезной – drabo2005