В настоящее время я разрабатываю свой собственный блог в Django
. Но я уже застрял в самом начале. Итак, вот моя иерархия дерева:
/pyroot/nemoden/
|~blog/
| |-__init__.py
| |-admin.py
| |-models.py
| |-tests.py
| `-views.py
|+css/
|+images/
|+js/
|~templates/
| |-index.html
| `-postslist.html
|-__init__.py
|-manage.py
|-settings.py
`-urls.py
Я сделал следующее: создал новое приложение, названное блогом, и описал все модели, которые мне нужны для блога в blog/models.py
(Пользователь, Почта, Комментарий и т.д.), но затем я смотрел Jeff Hui's
и понял, что это, вероятно, плохая идея, а в Django-world
люди этого не делают... что мы делаем в... PHP-world
, используя наши PHP Frameworks
. Я думаю, лучше отличать Django-приложения для тегов, комментариев, пользователей и т.д.
Итак, я спрашиваю:
Лучше ли иметь одну модель для Django-приложения? Если да, есть ли исключения, когда я не должен создавать новое Django-приложение для модели?
Я хочу пойти с:
/pyroot/nemoden/
|~blog/ # this is actual application (not a django-application). It uses all the models in views.py, so django-apps becomes just models
| |-__init__.py
| |-tests.py
| `-views.py # all the views (controllers in other frameworks) used by our (well,... my) weblog
|+css/
|+images/
|+js/
|~templates/
| |-index.html
| `-postslist.html
|-__init__.py
|~post/
| |-__init__.py
| |-tests.py
| |-admin.py
| |-models.py # only Post model goes here
| `-views.py
|~tag/
| |-__init__.py
| |-tests.py
| |-admin.py
| |-tag.py # only Tag model goes here
| `-views.py # <---- I don't know why we still need it here!
|-manage.py
|-settings.py
`-urls.py
Как вы видите, я отключил models.py
и admin.py
из blog
приложения, поэтому теперь blog
больше нравится the app
или main app
, если вы хотите использовать все модели (django-apps) и в основном состоят из views.py
. И я думаю, что теперь нам не нужно все views.py
во всех django-apps
(этот под знаком BIG вопросительный знак, хотя - это просто в теории).
Мой подход хороший, или я буду испытывать проблемы, невидимые для меня сейчас, может быть?
Извините, если мой вопрос недостаточно ясен, если да, пожалуйста, прокомментируйте это ниже, я отредактирую его, чтобы он был более понятным.
Есть ли лучшие практики?
Спасибо.