Melhores práticas para uma estrutura de diretório de trabalho Django
Django é uma fantástica estrutura de desenvolvimento da web de código aberto baseada em Python que você pode usar para criar aplicativos da web full-stack. Por ser um framework, pode-se esperar inicialmente muitos arquivos dentro dos projetos. Pode ser muito difícil para um iniciante no início, mas não há nada com que se preocupar; tudo parecerá simples com o tempo.
Um aplicativo da web tem dois lados: desenvolvimento e produção. O lado do desenvolvimento tem configurações diferentes em comparação com o lado da produção. Os aplicativos Django têm muitas pastas como static
, media
, templates
, etc. Como o Django já existe há algum tempo, você precisa conhecer as melhores práticas para uma estrutura de diretório de trabalho do Django para projetos mais bem-sucedidos neste área. Falaremos sobre esses métodos aqui no artigo, então continue lendo!
Estrutura de Diretório Django
A estrutura de diretório de um projeto Django deve ser semelhante a esta:
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
Django Root Folder
A pasta raiz, Project Folder
, contém projetos Django e todos os outros arquivos relacionados ao projeto, como a license
, README
, environment
, requirements.txt
, .gitignore
, e Documentation or Docs
.
Django Project Folder
Dentro do projeto Django, MyProject
, deve haver o arquivo manage.py
, a pasta media
, a pasta MyProject
que contém o arquivo settings.py
e os aplicativos Django.
Pasta de configurações do projeto Django
Por padrão, Django nos fornece um único arquivo settings.py
e alguns outros arquivos importantes, como o urls.py
, wsgi.py
, etc. O arquivo settings.py
contém configurações para produção e desenvolvimento. Conseqüentemente, ele pode crescer em comprimento para um projeto mais significativo.
Portanto, dividir as configurações em seus respectivos arquivos é uma ótima idéia. O arquivo base.py
contém as configurações que se aplicam ao desenvolvimento e à produção. O arquivo development.py
contém todas as configurações aplicáveis para o desenvolvimento, e o production.py
contém todas as configurações de produção.
Os lados de desenvolvimento e produção podem ter diferentes configurações de banco de dados, configurações de validação de senha, configurações de e-mail, configurações de pagamento, chaves de API e outras configurações.
Se você estiver usando Python Decouple
para armazenar dados confidenciais, o arquivo .env
também deve estar nesta pasta.
Aplicativos Django
Cada aplicativo Django terá uma pasta static
e uma pasta templates
. Dentro dessas pastas, haverá outra pasta com o nome do aplicativo. Dentro dessas pastas, colocaremos todos os arquivos e modelos estáticos.
Essa abordagem nos permite ter vários arquivos com o mesmo nome. Por exemplo, cada aplicativo pode ter um arquivo index.html
e um style.css
, e será mais fácil acessá-los.
----------
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' %}