В настоящее время у меня проблема с моим веб-приложением, если 2 пользователя вошли в систему, а затем каждый хочет сделать операцию (например, добавьте отзыв), эти 2 отзыва будут отображаться в базе данных как принадлежащие одному человеку (последний зарегистрированный в пользователе). Я документировал и знаю, что сессии должны быть сделаны, но я не могу понять, как это сделать. Из приведенных примеров я понимаю, что нужно что-то подобное
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
request.session['username'] = username
return redirect('index')
else:
return render(request, 'library/login.html')
а затем в профиле, если я хочу всегда печатать имя пользователя, всем пользователям будет отображаться последний зарегистрированный пользователь
class Profil(View):
template_name = 'library/profile.html'
def get(self, request):
print(request.session['username'])
# the rest of the code
Может ли кто-нибудь объяснить мне, где я ошибаюсь, и как я могу исправить это? Пример был бы идеальным.
PS: Извините заранее, если вы считаете это глупым вопросом.
Вам не нужно явно определять сеанс, вы можете легко получить имя пользователя по запросу "request.user.username", а в вашей модели обзора вы можете добавить внешний ключ таблицы пользователя, указав, какой пользователь добавляет обзор.