Skip to content
natorscPublic

About

Exemplo de projeto web com Python e o framework web Django.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

py-django

natorsc - py-django stars - py-django forks - py-django License MIT

py-django

Exemplo de projeto web com Python e o framework web Django.

Tecnologias

Python Django uv

Autor

Criado com 💙 por Renato Cruz.

Se tiver alguma dúvida, sugestão ou feedback, fique à vontade para entrar em contato.

Email

🎵 O que estou ouvindo enquanto programo ou estudo

Spotify

💝 Apoie este projeto

Se este projeto foi útil para você, considere apoiar seu desenvolvimento. Sua contribuição ajuda a manter o projeto e incentiva a criação e o compartilhamento de novos conteúdos.

GitHub Sponsors

https://github.com/sponsors/natorsc/

Pix

b1839493-2afe-484d-9272-82a3e402b36f

Django

Principais comandos

# Inicia um novo app dentro do projeto:
uv run python manage.py startapp
# Cria um usuário administrador (Django admin):
uv run python manage.py createsuperuser
# Remove os dados e mantem as tabelas:
uv run python manage.py flush
# Exclui e recria o banco de dados:
uv run python manage.py reset_db
# Prepara as migrações:
uv run python manage.py makemigrations
# Executa as migrações:
uv run python manage.py migrate
# Coleta os arquivos estáticos:
uv run python manage.py collectstatic --noinput
# Executa o servidor de desenvolvimento:
uv run python manage.py runserver

Alguns comandos permitem a utilização da flag --noinput.

Fixture

Exportar dados:

uv run python -Xutf8 manage.py dumpdata APP-NAME.model_name --output=APP-NAME/fixtures/file_name.json

Importar dados:

uv run python -Xutf8 manage.py loaddata file_name.json

Django environ

cp env.txt .env

Uv

Site oficial.

Formatar código

uv format

Verificar atualizações:

uv tree --outdated --depth=1
uv lock --upgrade-package nome_do_pacote
uv sync

Ruff

Site oficial.

Formatar código

uvx ruff check . --fix && uvx ruff format .

Djangofmt

Site oficial.

Formatar os templates

uvx djangofmt .

Caddy

Site oficial.

Principais comandos

Formatar o arquivo e configuração:

caddy fmt --overwrite _deploy/Caddyfile

Validar o arquivo de configuração:

caddy validate --config _deploy/Caddyfile

Executar manualmente:

caddy run --config _deploy/Caddyfile

Configuração dos sites (Linux)

  1. Crie a estrutura:
sudo mkdir -p /etc/caddy/sites-enabled
  1. No arquivo /etc/caddy/Caddyfile, adicione só a linha de import:
{
    email natorsc@gmail.com
}

import sites-enabled/*

Valide a configuração:

sudo caddy validate --config /etc/caddy/Caddyfile

Recarregue o serviço:

sudo systemctl reload caddy

SystemD

Site oficial.

Principais comandos

# Sempre que houverem modificações em arquivos do SystemD:
sudo systemctl daemon-reload

# Verificar se um serviço está em execução:
sudo systemctl status APP-NAME.service

# Para um serviço que está em execução:
sudo systemctl stop APP-NAME.service

# Inicia um serviço que está parado:
sudo systemctl start APP-NAME.service

# Habilitar serviço para iniciar no boot do sistema operacional:
sudo systemctl enable APP-NAME.service

Acompanhar logs:

# Em tempo real:
sudo journalctl -u APP-NAME.service -f

# Ultimas 200 linhas:
sudo journalctl -u APP-NAME.service -n 200

# Somente os erros:
sudo journalctl -u APP-NAME -p err

# Filtar:
journalctl -u APP-NAME --since "1 hour ago"

Deploy

Microsoft Windows

Para executar o projeto em produção no Microsoft Windows utilizar arquivo _deploy\start-server.ps1.

Waitress

Site oficial.

Para executar manualmente:

waitress-serve --listen=127.0.0.1:8001 _config.wsgi:application

Linux

Sempre adicione os projetos em /var/www/html.

sudo cp _deploy/APP-NAME.caddy /etc/caddy/sites-enabled/APP-NAME.caddy
sudo cp _deploy/APP-NAME.service /etc/systemd/system/APP-NAME.service
sudo systemctl daemon-reload
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
sudo systemctl start APP-NAME

About

Exemplo de projeto web com Python e o framework web Django.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages