HOWTO · Django
Melhores práticas para uma estrutura de diretório de trabalho Django
Saiba mais sobre as melhores práticas para uma estrutura de diretório de trabalho do Django neste artigo.
Nesta página
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' %}