Я не могу получить имя пользователя из формы django Я получил только None, как на фото
Я не могу получить пользователя, я получил None intend od username, я не знаю как решить эту проблему... author.username не отображает пользователя и если он внутри тега if wiadomosc.author.username == user.username не редактирует только сообщение владельца пользователя просто редактирует их все, я хочу чтобы функция редактировала только сообщение владельца пользователя
весь код ниже: https://github.com/Mar3eczek17/bug
{% for wiadomosc in wiadomosci %}
<li>
<strong>{{ wiadomosc.author.username }}</strong> ({{ wiadomosc.created_date }}):
<br /> {{ wiadomosc.tekst }}
{% if wiadomosc.author.username == user.username %}
• <a href="{% url 'blog_app:edytuj' wiadomosc.id %}">Edytuj</a>
• <a href="{% url 'blog_app:usun' wiadomosc.id %}">Usuń</a>
{% endif %}
</li>
{% endfor %}
website:
Сообщения Список новостей: Нет (4 февраля 2022 года, 14:11): Четвертое сообщение отредактировано - Редактировать - Удалить Нет (4 февраля 2022 года, 14:54): Пятое сообщение отредактировано - Редактировать - Удалить Домашняя страница
models.py
from django.contrib.auth.models import User
from django.db import models
# Create your models here.
class Wiadomosc(models.Model):
"""Klasa reprezentująca wiadomość w systemie"""
tekst = models.CharField('treść wiadomości', max_length=250)
created_date = models.DateTimeField('data publikacji')
author = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
class Meta:
verbose_name = u'wiadomość' # nazwa obiektu w języku polskim
verbose_name_plural = u'wiadomości' # nazwa obiektów w l.m.
ordering = ['created_date'] # domyślne porządkowanie danych
def __str__(self):
return self.tekst
Генеральная модель User не имеет поля name. Попробуйте с username и получите правильное User с помощью request.user:
{% if request.user.username and wiadomosc.author.username == request.user.username %}
<a href="{% url 'blog_app:edytuj' wiadomosc.id %}">Edytuj</a>
<a href="{% url 'blog_app:usun' wiadomosc.id %}">Usuń</a>
{% endif %}