English version here
Um template de projeto Django para ajudar você a iniciar novos projetos. Baseado no 7ws logfreak.
Na era das aplicações web usando React/APIs RESTful, nós ainda acreditamos que um projeto Django "raiz" tem seu valor. Principalmente se você só precisa validar uma ideia, ou simplesmente prefere não usar aquelas ferramentas. Tendo isso em mente, nós criamos essa estrutura (vamos chamar de boilerplate) que vai servir de template para um novo projeto de API usando Django E DRF, adicionando algumas melhorias.
- Python +3.10
- Django 4.1.2
- Pytest - Vai nos ajudar a escrever testes (e rodá-los)
- Poetry - Gerenciador de pacotes Python
- pre-commit - Framework para rodar alguns hooks no momento do commit. Alguns dos hooks:
- mypy
- Configurar ambiente Docker para produção
Primeiro, você precisa instalar o Django
, para que assim possamos utilizar o comando django-admin
. Então ative seu ambiente virtual e rode pip install Django==3.0.8
. Ao finalizar a instalação, dentro do diretório onde você quer que o projeto fique, rode o seguinte comando:
django-admin startproject nome_do_projeto --template=https://github.com/dunderlabs/django-rest-boilerplate/archive/main.zip
Após o comando acima finalizar, você deverá fazer uma cópia do arquivo example.env
mudando o nome da cópia para .env
. Agora dentro dele, altere os valores das variáveis conforme necessário.
Depois disso, todos os arquivos desse repositório estarão dentro do diretório que você criou antes e executou o comando anterior. Agora nós precisamos instalar as dependências Python do projeto. Para isso, você pode executar esse comando abaixo:
$ make local-install-requirements
Se em algum momento você quiser atualizar os pacotes Python, execute o seguinte:
$ make local-update-requirements
Agora vamos instalar as dependências do frontend:
$ make local-setup-frontend
Por fim, inicie o servidor:
$ python manage.py runserver
Para rodar os testes vai ser tão simples quanto o seguinte:
$ make local-test-all
Primeiro certifique-se que tem Docker e Docker Compose instalados na sua máquina. Depois disso, como primeiro passo vamos fazer o build
do projeto, aonde ele vai baixar as imagens docker e executar todos os comandos necessários. Para isso, execute o comando:
make build
Depois disso para levantar os containeres e deixar o projeto rodando, basta executar:
make up
Nós também criamos um atalho para evitar que você sempre tenha que digitar docker-compose run --rm backend
quando precisar executar algum comando dentro do container. Então, caso você queira executar um python manage.py migrate
dentro do container, você roda o seguinte:
./bin/run python manage.py migrate
Se você rodar apenas ./bin/run
ele vai executar o servidor de desenvolvimento do Django.
Reporte os bugs nas nossas issues ou simplesmente faça um fork do projeto, contribua com o que achar necessário e mande um PR pra gente! :)