Обычно я вижу варианты этой структуры проекта в django, где статические файлы управляются apache или nginx:
app/
- views.py
static/
js/
- base.js
img/
css/
- base.css
templates/
- home.html
manage.py
urls.py
settings.py
Однако приемлем ли следующий подход для крошечного приложения?
app/
- views.py
templates/
- base.js
- base.css
- home.html
manage.py
urls.py
settings.py
Если это ужасный подход, может кто-нибудь объяснить, почему? Мне кажется, что часто html-файл шаблона содержит встроенный css или javascript для определенного переопределения или удобства, поэтому описанный выше подход не сильно отличается для небольшого приложения.
@DanielRoseman в home.html нельзя ли включить первую строку, которая будет {% include "base.js" %} {% include "base.css" %}?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Каталог static/ следует использовать только для статического содержимого, также известного как .js, .css, и файлов изображений.
Каталог template/ должен использоваться только файлами .html, потому что они загружаются из представлений django. Разделение файлов .html также может быть полезно по соображениям безопасности (все статические каталоги являются общедоступными, поэтому вам не нужно применять какие-либо правила доступа к подкаталогам).
На самом деле вам не обязательно разделять ваши статические файлы в подкаталогах, если у вас есть только 2 или 3 файла, но я бы посоветовал вам сделать это. Когда ваш проект станет немного больше, структура будет в порядке, никаких дополнительных работ по рефакторингу ...
Каждому создаваемому вами приложению должен быть предоставлен собственный каталог static, templates, media, urls. Например, в templates django советует вам создать подпапку и назвать ее так, как вы назвали свое приложение. Если вы этого не сделаете, выберите сделайте это по-другому, он все равно будет работать, но этот способ более питонический, и django настаивает на том, чтобы вы были питоническим .. Вы можете сослаться на эту ссылку для Django Docs | Принципы дизайна.
Предполагая, что вам нужен подход, который действительно работал бы, это ужасно, потому что это не так.