Я относительно плохо знаком с механизмом Python и приложения, и я только что закончил свой первый проект. Это состоит из нескольких *.py файлов (обычно py файл для каждой страницы на сайте) и соответственно файлы храма для каждого py файла. Кроме того, у меня есть один большой файл PY, который имеет много функций, которые характерны для большого количества страниц, в я также объявил классы дб. Модель (который является видами хранилища данных).
Мой вопрос - то, что является конвенцией (если существует один) расположения этих файлов. Если я создаю model.py с классами хранилища данных, это должно быть в другом пакете? Куда я должен поместить свои шаблонные файлы и все py файлы, которые обрабатывают каждую страницу (они должны быть в том же каталоге как один большой общий файл PY)?
Я попытался искать MVC и такие реализации онлайн, но существуют очень немногие.
Спасибо,
Joel
Я обычно организую свои проекты таким образом:
project
main.py
README
models
bar.py
foo.py
views
foolist.hml
barlist.hml
controllers
controller1.py
controller2.py
api
controllerapi.py
helpers
utilities.py
lib
extfoo.py
db
foo.db
test
test.py
Посмотрите на этот пост; это действительно отличная статья о том, как структурировать проект (не на python, но это не имеет значения).
Обычно я организую так:
project/
main.py
models.py
app.yaml
index.yaml
templates/
main.html
foo.html
...
styles/
project.css
js/
jquery.js
project.js
images/
icon.png
something.jpg
И у меня все мои обработчики в main.py, все мои модели в models.py и т.д.
Если у меня много обработчиков, и я могу легко разделить функциональность одних обработчиков от других (например, обработчики taskqueue против обработчиков запросов против обработчиков xmpp/email), я добавлю еще один foo_handlers.py
, но обычно я просто запихиваю их все в main.py
Но опять же, я не пишу очень сложных приложений на Python App Engine...