Skip to content

django - все сломалось после обновления

Обновив в очередной раз django из svn, при попытке зайти в админку увидел неприятное сообщение:

ImproperlyConfigured: Error while importing URLconf 'django.contrib.admin.urls': No module named urls

Немного погуглив, решение было найдено. Как оказалось позже, это только начало...

Причины

Итак, причина этой ошибки, как и многих других - в trunk наконец-то влили бранч newforms-admin. Кроме того, попутно поменяли кучу всего нужного и полезного. Итак, решаем наши проблемы.

Ошибка при доступе к админ-части.

Связана с изменением синтаксиса URLconf. Если раньше у вас в конфиге было что-то вроде

from django.conf.urls.defaults import *
urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls')),
)

то теперь нужно сделать так:

from django.conf.urls.defaults import *
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/(.*)', admin.site.root),
)

Управление моделями

Казалось бы, все пучком, админка ожила, но... В новооживленной админке не оказалось моих моделей. Опять же, гугл... И тут я нашел бесценную страницу (ссылка ниже) на которой было описание всех моих мытарств. В общем, новое изменение - теперь вместо

class MyModel(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    slug = models.CharField(max_length=60, prepopulate_from=('first_name', 'last_name'))

    class Admin:
        pass

все, кому не чуждо django, пишут так:

class MyModel(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    slug = models.CharField(max_length=60)

from django.contrib import admin

admin.site.register(MyModel)

В общем, вот так вот. Django - очень динамичный фреймворк. Быстро развивается, в связи с чем и случаются иногда некоторые сюрпризы. Впрочем, аргументов в пользу django и тут хватает. trunk он на то и trunk чтобы менятся. Стабильные версии стабильны :) Ну и разработчики честно предупредили о том, что всем будут ласты т.к. джанго растет и развивается. И, наконец, главный плюс в данных обстоятельствах - тот самый супердокумент.

{ 2 } Comments

  1. Strori | 22 июля 2008 at 0:00 | Permalink

    Неплохая статья. Только бы поменьше грамматических ошибок. P.S. Растешь однако. Если что, знаешь как меня найти.

    [Ответить]

  2. solshark | 22 июля 2008 at 10:59 | Permalink

    Спешил, с работы писал :)

    [Ответить]

Post a Comment

Your email is never published nor shared. Required fields are marked *