Я желаю добавить на свой сервер отображение постов из базы данных через views, но почему-то не получаеться.
В models.py я создал класс, который будет куда я буду добавлять посты.
Примерно так он выглядет:
class news(models.Model):
title = models.CharField(max_length=120, db_index=True)
post = models.TextField(db_index=True)
date = models.DateTimeField(auto_now_add=True)
image = models.ImageField(upload_to='main/static/images/load', blank=True)
def __str__(self):
return self.title
class Meta:
ordering = ['-date'] # Сортировка по дате(от новых до старых)
Далее, после миграции, я полез во views.py и непосредственно там создал функцию показа постов:
from django.shortcuts import render
from .models import news
def main(request):
posts = news.objects.all()
return render(request, 'school/main.html', {'posts': posts})
После этого открыл шаблон и ввёл непосредственно следующее:
{% for post in posts %}
<div class="novosti">
<h3 align="center">{{post.title|safe}}</h3>
<p style="margin-left: 0.75%;">{{post.post|safe}}</p>
{% if post.image %}
<img src="{{post.image.url}}" class="img">
{% endif %}
<p align="right" class="date">{{post.date|date:"d-m-Y"}}<br></p>
</div>
{% endfor %}
При запуске сервера появляется ошибка:
unindent does not match any outer indentation level(неопределяемый не соответствует ни одному внешнему уровню отступа, как сказал гугл-переводчик)
А место ошибки -
return render(request, 'school/main.html', {'posts': posts}) во views.py
Можете помочь с этим. Возможно, я где-то использовал методы устаревших версий Django.
Версия Python: 3.7.4 (последняя на данный момент)
Версия Django: 2.2.3 (последний релиз на данный момент)