Пишу новостной сайт на Django и столкнулся со следующей проблемой. Я расширил Django User Model методом AbstractUser, добавив биографию и аватар, с помощью модели User.
На данный момент у меня создано два пользователя в админке. Оба являются авторами статей. Проблема заключается в том, что при публикации новости от второго автора, у него отображается тот же самый аватар, что и у первого, хотя они разные. Почему так происходит?
models.py
class User(AbstractUser):
bio = models.TextField(max_length=500, blank=True, verbose_name='Информация о пользователе: ')
avatar = models.ImageField(verbose_name='Аватар: ')
class News(models.Model):#Новости
title = models.CharField('Заголовок', max_length=250)
slug = models.SlugField(max_length=50,unique=True)
author = models.ForeignKey(User, on_delete=models.CASCADE,
related_name='news_posts', null=True, blank=True)
main_photo = models.ImageField('Постер', null = True, blank = True, upload_to='prosvet/media/images/main')
anons = models.CharField(max_length=350)
body = RichTextUploadingField(
null=False,
blank=False,
# config_name='toolbar_Custom',
external_plugin_resources=[(
'youtube',
'/static/ckeditor/ckeditor/plugins/youtube/',
'plugin.js',
)],
)
date_added = models.DateTimeField(auto_now_add=True)
admin.py
from django.contrib import admin
from prosvet_logs.models import About_us, News, Contacts, Cooperation, Dialogs, Monologs, Projects, Mission, User
admin.site.register(User)
class PostAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("title",)}
settings.py
AUTH_USER_MODEL = 'prosvet_logs.User'
vews.py
def articles(request):#Страница новостей
news = News.objects.order_by('-date_added')
context = {'new': news}
return render(request, 'prosvet_logs/news.html', context)
def el(request, el_id): #Вывод отдельной новости
news = News.objects.get(id=el_id)
context = {'news':news}
return render(request, 'prosvet_logs/article.html', context)
article.html - здесь рендерится новость
{% extends "prosvet_logs/base.html" %}
{% load static %}
{% block content %}
<link rel="stylesheet" href="{% static 'styles/main.css' %}">
<div>
<h2>{{ news.title }}</h2>
<p>{{ news.date_added|date:'M d, Y H:i' }}</p>
<p>{{ news.body|safe }}</p>
<div id="author">
<p> {{ news.author }}</p>
<p><img src="{{ user.avatar.url }}" height="160" align="bottom" /></p>
</div>
</div>
{% endblock content %}