Ошибка в голосовании Джанго?
Я пытаюсь получить наиболее популярные элементы в Django. Вот соответствующая строка кода:
originalList = [x[0] for x in list(Vote.objects.get_top(Item, endIdx))[startIdx:]]
Индексы предназначены для нумерации страниц. Когда я пытаюсь загрузить страницу в браузере, я получаю:
AttributeError at /items/top/
'Settings' object has no attribute 'DATABASE_ENGINE'
Однако атрибут, который он должен искать, не является DATABASE_ENGINE, а находится в DATABASES['default']['ENGINE']
, Как это можно исправить?
3 ответа
Да, похоже, что этот код не был затронут в течение 4 лет. Утверждает
Note that this application requires Python 2.3 or later, and Django
0.97-pre or later. You can obtain Python from http://www.python.org/ and
Django from http://www.djangoproject.com/.
В то время это был наиболее вероятный способ определения механизма базы данных, и теперь он устарел. Лично я бы не использовал это, возможно, есть и другие проблемы...
Это похоже на приложение до django1.0, вы должны проверить ветки на github: https://github.com/brosner/django-voting/network и использовать активный форк или рассмотреть возможность использования альтернативного приложения для этого.
Я сделал следующее, что, по-моему, является самым простым, пока голосование в django не будет исправлено вверх по течению:
в конце вашего settings.py
, добавить:
DATABASE_ENGINE = DATABASES['default']['ENGINE']