объяснение макета директории django - PullRequest
8 голосов
/ 25 июня 2009

Итак, у меня есть проект django, который я только что создал, под названием 'coolprojectsite', структура каталогов выглядит примерно так:

* media (dir)
* mytemplates (dir)
* * admin (dir)
* * coolprojects (dir)
* coolprojectsite (dir)
* * coolproject (dir)
* * * __init__.py
* * * admin.py
* * * models.py
* * * tests.py
* * * urls.py
* * * views.py
* * __init__.py
* * settings.py
* * urls.py

Итак, у меня есть несколько вопросов.

1) Является ли проект холодным проектом «проектом»

2) Является ли coolproject «приложением»

3) «media» содержит файлы css, javascript и т. Д. Это подходящее место для них? Это вне проекта.

4) «mytemplates» содержит специальные файлы, содержащие разметку django (например, {%%}), и к ним обращаются, потому что мой urls.py указывает на них. Правильно ли иметь эти файлы вне проекта?

5) Если я хочу включить какой-нибудь произвольный файл javascript (скажем, jquery), я просто создаю новую запись в urls.py (если так, должна ли она быть в coolprojectsite или coolproject) и затем ссылаюсь на этот URL

1 Ответ

9 голосов
/ 25 июня 2009
  1. «Проект» не очень полезная концепция в Django. Об этом упоминается в учебнике по Django, но разработчики часто упоминают в списках рассылки, что они хотели бы, чтобы они не представили его. По сути, проект - это просто контейнер для вашего кода, но на самом деле код может жить где угодно на Pythonpath.

  2. Да, и вы можете иметь несколько приложений, если они все добавлены в INSTALLED_APPS в settings.py.

  3. Неважно, где они живут. Вам нужно что-то для их обслуживания - в разработке это можно сделать с помощью встроенного сервера, но при работе вам нужно будет направлять Apache (или что-то еще) прямо на файлы.

  4. Не имеет значения. Это представления, которые загружают шаблоны, и опять же, если TEMPLATE_DIRS правильно настроен в settings.py, это нормально.

  5. Нет, абсолютно нет. Как уже упоминалось, статические ресурсы находятся в вашей медиа-папке и не обслуживаются через Django.

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