Django - urlpatterns не может найти модуль - PullRequest
0 голосов
/ 19 апреля 2011

Я новичок в Django и из ASP.NET MVC. Однако я просто хочу создать структуру папок ниже, если перейти к http://localhost:8000/community_web/,, что выдает сообщение об ошибке «Не удалось импортировать community_web.controllers.home. Ошибка: модуль с именем controllers.home отсутствует»

Структура папок, что я хочу.

<project>
  urls.py
  <community_web>
    urls.py
    <controllers>
      home.py

Я добавил следующие коды.
Для project.urls.py

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

Для project.community_web.urls.py

urlpatterns = patterns('',
    (r'^$', 'community_web.controllers.home.index'),
)

Я думал, что views.py будет соответствовать контроллеру в терминах ASP.NET MVC, и поэтому я не хочу помещать все обработчики запросов в один файл. Если я переместил home.py в родительскую папку, он работает нормально, но без иерархической структуры папок создание большого количества файлов в одной папке не является моим предпочтением. Как мне этого добиться? или, может быть, не очень хорошая практика в Джанго?

Заранее спасибо,
Yoo

Ответы [ 3 ]

5 голосов
/ 19 апреля 2011

Попробуйте ввести __init__.py в каталог controllers. Это сделает каталог, который может видеть модуль python.

0 голосов
/ 19 апреля 2011

Поместили ли вы "community_web" в раздел установленных приложений в вашем файле settings.py?

http://docs.djangoproject.com/en/dev/ref/settings/#installed-apps

INSTALLED_APPS = (                                                                 
    'django.contrib.auth',                                                         
    'django.contrib.contenttypes',                                                 
    'django.contrib.sessions',                                                     
    'django.contrib.sites',                                                        
    'django.contrib.admin',

    'community_web',
)
0 голосов
/ 19 апреля 2011

Обычно это не очень хорошая практика.Но делай то, что тебе удобно.Под контроллерами у вас есть файл инициализации py?Если нет, возможно, он не сможет найти файл home.py.

Можете ли вы опубликовать содержимое home.py?Там может быть что-то, что вызывает неправильную загрузку.

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