Обновив в очередной раз 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
Неплохая статья. Только бы поменьше грамматических ошибок. P.S. Растешь однако. Если что, знаешь как меня найти.
[Ответить]
Спешил, с работы писал
[Ответить]
Post a Comment