«Практические Джанго Проекты», 2-е изд., Исходный код - PullRequest
0 голосов
/ 17 августа 2010

В «Практических проектах django» Джеймса Беннетта (2-е издание) автор создает систему управления контентом, используя django.contrib.admin. Проблема в том, что это не работает.

Я в третьей главе, где он добавляет возможность поиска по ключевым словам, добавляя новый модуль администратора. Проблема в том, что я не могу заставить его работать. Просматривая веб-страницы, я нахожу постоянные жалобы на то, что, несмотря на претензии в книге, автор не предоставил доступный рабочий источник. Суть проблемы в том, что он, кажется, зависит от внутренних компонентов платформы django, которые меняются с каждым второстепенным выпуском, поэтому его решения оказываются хрупкими.

Тем не менее, я бы хотел пройти через это.

В третьей главе он предположительно добавляет новую функцию администрирования ключевого слова поиска, создав новую модель SearchKeyword, а затем создав и зарегистрировав класс SearchKeywordAdmin.

Модель (в cms / search / models.py:

class SearchKeyword(models.Model):
    keyword = models.CharField(max_length=50)
    page = models.ForeignKey(FlatPage)

    def __unicode__(self):
        return self.keyword

Класс (в cms / search / admin.py):

class SearchKeywordAdmin(admin.ModelAdmin):
    pass

admin.site.register(SearchKeyword, SearchKeywordAdmin)

Я не вижу ошибок компиляции, но ничего не вижу на странице администратора.

Либо я делаю что-то не так, либо что-то в django.contrib.admin изменилось, чтобы этот код больше не работал.

У кого-нибудь есть идеи, которые? И что мне может понадобиться, чтобы сделать эту работу?

Ответы [ 4 ]

2 голосов
/ 17 августа 2010

Ваш код выглядит здоровым для меня, поэтому что-то, что вы не опубликовали, неверно.

Импортируете ли вы все необходимое?

  • Ваши models.py нужны django.db.models иFlatPage (предположительно от django.contrib.flatpages.FlatPage)
  • Ваши admin.py нуждаются from django.contrib import admin и from cms.search.models import SearchKeyword

cms.search в вашем INSTALLED_APPS настройка?

1 голос
/ 17 августа 2010

Я попробовал ваш код с Django 1.2.1 и Python 2.6.2 на Ubuntu Jaunty. Модель появилась на экране администратора, как и ожидалось. Можете ли вы опубликовать более подробную информацию о версии Django / Python, которую вы используете?

0 голосов
/ 05 октября 2011

Возможно, вам придется просто запустить manage.py runserver еще раз, чтобы разрешить сброс раздела администратора.

0 голосов
/ 01 января 2011

У вас есть:

from django.contrib import admin
admin.autodiscover()

в вашем urls.py?А также что-то вроде этого:

urlpatterns = patterns('',
    ...
    (r'^admin/', include(admin.site.urls)),
)

А также вы включили приложение администратора в настройках?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...