include () и путаница с плоскими страницами - PullRequest
3 голосов
/ 05 января 2011

Я слежу за Apress: Практические проекты Django , и я столкнулся с чем-то, что меня немного смущает.

Когда я настраиваю свой URL.py, чтобы указать на плоские страницы, это работает нормально, если я делаю это:

...
(r'', include('django.contrib.flatpages.urls')),
...

Но это не работает, если я делаю это:

from django.contrib import flatpages
...
(r'', include(flatpages.urls)),
...

Он говорит мне, что:

У объекта 'module' нет атрибута 'urls'

Мои знания как в Django, так и в Python довольно ограничены, так что это может быть действительно очевидным, но было бы неплохо понятьчто происходит:)

Спасибо

1 Ответ

2 голосов
/ 05 января 2011

Требуется переменная urlpatterns из другого модуля. Так что попробуйте:

from django.contrib import flatpages
...
(r'', include(flatpages.urls.urlpatterns)),
...

Это соответствует примеру в документации django здесь .

Edit:

Я нашел проблему. Что-то портит импорт из django.contrib, я все еще в этом разбираюсь. Измените ваш импорт на from django.contrib.flatpages import urls.

Итак, ваш код будет:

from django.contrib.flatpages import urls
...
(r'', include(urls.urlpatterns)),
...
...