1
resposta

Organização Apps Django

Poderia criar uma pasta chamada app e indicar que a criação de todos os apps devem ser feitas dentro desta pasta ? Poderia passar isso diretamente no comando python manage.py startapp apps/nomeapp ? E deveria também realizar as configurações do setup sempre informado a pasta app, por exemplo apps.nomeapp.apps.NomeappConfig.

1 resposta

Olá, Henrique.

Tudo bem?

Sim, é possível organizar seus apps do Django dentro de uma pasta específica, como "apps", e isso pode ajudar na organização do seu projeto, especialmente em projetos maiores. Vou mostrar um exemplo básico de como fazer isso.

  1. Criando a pasta "apps": Primeiro, crie uma pasta chamada "apps" na raiz do seu projeto Django. Você pode fazer isso manualmente ou usando o terminal:

    mkdir apps
    
  2. Criando um app dentro da pasta "apps": Infelizmente, o comando python manage.py startapp não permite diretamente a criação de apps dentro de uma pasta. No entanto, você pode fazer isso em duas etapas:

    cd apps
    django-admin startapp nomeapp
    cd ..
    
  3. Configurando o settings.py: Após criar o app dentro da pasta "apps", você precisa ajustar o INSTALLED_APPS no arquivo settings.py para refletir o novo caminho. Por exemplo:

    INSTALLED_APPS = [
        # Outros apps
        'apps.nomeapp',
    ]
    
  4. Ajustando as configurações do app: Se o seu app tiver uma configuração específica, você precisará referenciá-la corretamente. Por exemplo, no apps.py do seu app, você pode ter algo assim:

    from django.apps import AppConfig
    
    class NomeappConfig(AppConfig):
        name = 'apps.nomeapp'
    
  5. Estrutura final do projeto: Sua estrutura de pastas deve ficar algo assim:

    myproject/
    ├── apps/
    │   └── nomeapp/
    │       ├── __init__.py
    │       ├── admin.py
    │       ├── apps.py
    │       ├── migrations/
    │       ├── models.py
    │       ├── tests.py
    │       └── views.py
    ├── myproject/
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    ├── manage.py
    └── ...
    

Seguindo esses passos, você conseguirá organizar seus apps dentro de uma pasta específica, facilitando a manutenção e escalabilidade do seu projeto.

Espero ter ajudado e bons estudos!