Я получил эту ошибку много раз раньше. И я уверен, что все программисты PHP по крайней мере однажды получили эту ошибку. Чтобы решить эту ошибку, вы можете решить использовать решение по вашему уровню проблемы:
Возможное решение 1:
Возможно, вы оставили пробелы до или после (в конце файла после?>) ie
THERE SHOULD BE NO BLANK SPACES HERE
DO CHECK FOR BLANK SPACES HERE AS WELL; THIS LINE (blank line) SHOULD NOT EXIST.
В большинстве случаев это должно решить вашу проблему. Проверьте все файлы, связанные с файлом require
.
Примечание: Иногда EDITOR (IDE), например gedit (редактор linux по умолчанию), добавляет одну пустую строку в файл save save. Этого не должно быть. Если вы используете linux. вы можете использовать редактор VI для удаления пробела / строк после?> в конце страницы.
Если это не ваш случай, тогда вы можете использовать ob_start для буферизации вывода, как показано ниже:
Возможное решение 2:
Вам необходимо изменить эту строку
new_books = Book.objects.order_by('-book_date')[:4]
на
new_books = Book.objects.order_by('-book_date')[:4]
, потому что order_by
доступно в менеджере моделей.
Обновление:
def index(request):
new_books = Book.order_by('-book_date')[:4]
bestselling_books = Book.objects.filter(is_best_selling=True)[:4]
advertises = Advertise.objects.all()
book_context = {
'new_books': new_books,
'bestselling_books': bestselling_books,
'advertises': advertises
}
return render(request, 'pages/index.html', book_context)
Книга не имеет атрибута order_by
, ее менеджер имеет
Так что вам нужно
Book.objects.order_by