Best practice per una struttura di directory di lavoro Django
Django è un fantastico framework di sviluppo web open source basato su Python che puoi utilizzare per creare applicazioni web full stack. Poiché si tratta di un framework, inizialmente ci si possono aspettare molti file all’interno dei progetti. All’inizio può essere troppo opprimente per un principiante, ma non c’è nulla di cui preoccuparsi; sembrerà tutto semplice con il tempo.
Un’applicazione web ha due facce: sviluppo e produzione. Il lato di sviluppo ha impostazioni diverse rispetto al lato di produzione. Le applicazioni Django hanno molte cartelle come static
, media
, templates
, ecc. Poiché Django è in circolazione da un po’, è necessario conoscere le migliori pratiche per una struttura di directory di lavoro Django per progetti di maggior successo in questo la zona. Parleremo di questi metodi qui nell’articolo, quindi continua a leggere!
Struttura della directory di Django
La struttura della directory di un progetto Django dovrebbe assomigliare a questa:
Project Folder/
.gitignore
LICENSE.rst or LICENSE.md
Documentation/
README.rst or README.md
environment
requirements.txt
MyProject/
manage.py
media/
MyProject/
__init__.py
settings/
__init__.py
base.py
development.py
production.py
.env
urls.py
wsgi.py
AppOne/
static/
AppOne/
templates/
AppOne/
urls.py
views.py
models.py
AppTwo/
static/
AppTwo/
templates/
AppTwo/
urls.py
views.py
models.py
AppThree/
static/
AppThree/
templates/
AppThree/
urls.py
views.py
models.py
Cartella radice Djangogo
La cartella principale, Project Folder
, contiene i progetti Django e tutti gli altri file relativi al progetto, come license
, README
, environment
, requirements.txt
, .gitignore
e Documentation or Docs
.
Cartella del progetto Django
All’interno del progetto Django, MyProject
, dovrebbero esserci il file manage.py
, la cartella media
, la cartella MyProject
che contiene il file settings.py
e le applicazioni Django.
Cartella delle impostazioni del progetto Django
Per impostazione predefinita, Django ci fornisce un singolo file settings.py
e alcuni altri file importanti come urls.py
, wsgi.py
, ecc. Il file settings.py
contiene impostazioni sia per la produzione che per sviluppo. Quindi, può crescere in lunghezza per un progetto più significativo.
Pertanto, dividere le impostazioni nei rispettivi file è un’ottima idea. Il file base.py
contiene le impostazioni che si applicano sia allo sviluppo che alla produzione. Il file development.py
contiene tutte le impostazioni applicabili per lo sviluppo e il file production.py
contiene tutte le impostazioni di produzione.
I lati di sviluppo e produzione possono avere diverse impostazioni del database, impostazioni di convalida della password, impostazioni e-mail, impostazioni di pagamento, chiavi API e altre configurazioni.
Se stai usando Python Decouple
per archiviare dati sensibili, anche il file .env
dovrebbe trovarsi in questa cartella.
Applicazioni Django
Ogni applicazione Django avrà una cartella static
e una cartella templates
. All’interno di queste cartelle, ci sarà un’altra cartella con il nome dell’applicazione. All’interno di queste cartelle, posizioneremo tutti i file e i modelli statici.
Questo approccio ci consente di avere più file con lo stesso nome. Ad esempio, ogni applicazione potrebbe avere un file index.html
e un file style.css
, e sarà più facile accedervi.
----------
HTML Files
----------
{% url 'AppOne/index.html' %}
{% url 'AppTwo/index.html' %}
{% url 'AppThree/index.html' %}
---------
CSS Files
---------
{% static 'AppOne/style.css' %}
{% static 'AppTwo/style.css' %}
{% static 'AppThree/style.css' %}