@IIIaTaTeJIb
WEB-программист

Не запускается сервер Django(Связано с базой данных)?

Я желаю добавить на свой сервер отображение постов из базы данных через 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 (последний релиз на данный момент)
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
"unindent does not match any outer indentation level" означает ошибку в отступах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
лишний пробел перед return
1) Используй нормальный редактор/IDE для Python - там отступы формируются правильно
2) Приводи полный трейсбэк ошибки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы