Skip to content

Commit

Permalink
Inserida lib python decouple para leitura de configurações de instância
Browse files Browse the repository at this point in the history
close #19
  • Loading branch information
renzo authored and renzon committed Jul 12, 2024
1 parent d1d6fa3 commit 933b143
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 9 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,8 @@ jobs:
- name: Run Linter
run: poetry run flake8 .

- name: Copy instance config variables
run: cp ../config/env-sample .env

- name: Run backend Tests
run: poetry run pytest --cache-clear
11 changes: 8 additions & 3 deletions backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Nessa pasta se encontram os arquivos de backend do projeto Django.

Será usado o Poetry como gestor pacotes.
Será usado o Poetry como gestor pacotes.

Por isso, para instalar o projeto com as dependência de desenvolvimento, dentro das pasta backend rode

Expand All @@ -23,18 +23,23 @@ python manage.py runserver
```

## Padrão de código

Para o backend esse projeto usa o flake8, com as seguintes customizações

Tamanho de linha pode ter até 120 caracteres. Para ver o relatório do linter rode:


```bash
flake8 .
```

# Usuário padrão

Nesse projeto o usuário foi customizado. Ele não tem username nem last_name como o usuário padrão do Django.
Ele usa o login como identificador único. O usuário se encontra na app base para que você pode acrescentar acampos de
Ele usa o login como identificador único. O usuário se encontra na app base para que você pode acrescentar acampos de
acordo com sua necessidade.

## Configurações de instância

Para ler configurações de instância esse projeto usa a lib [python decouple](https://pypi.org/project/python-decouple/).
Ela é importada no arquivo settings.py

9 changes: 5 additions & 4 deletions backend/devpro/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"""

from pathlib import Path
from decouple import config, Csv

import dj_database_url

Expand All @@ -21,14 +22,14 @@
# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-$yd9^=to3rg=(mf!022&vrfv*6tj6fb*kg41h4tdrr16))4ei0'
SECRET_KEY = config('BACKEND_SECRET_KEY')

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
DEBUG = config('BACKEND_DEBUG', default=False, cast=bool)

AUTH_USER_MODEL = 'base.User'

ALLOWED_HOSTS = []
ALLOWED_HOSTS = config('BACKEND_ALLOWED_HOSTS', default='', cast=Csv())

# Application definition

Expand Down Expand Up @@ -77,7 +78,7 @@

DATABASES = {
"default": dj_database_url.parse(
'postgres://postgres:postgres@localhost:5432/postgres',
config('DATABASE_URL'),
conn_max_age=600,
conn_health_checks=True,
)
Expand Down
13 changes: 12 additions & 1 deletion backend/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ python = "^3.12"
django = ">4"
psycopg2 = "^2.9.9"
dj-database-url = "^2.2.0"
python-decouple = "^3.8"


[tool.poetry.group.dev]
Expand Down
12 changes: 11 additions & 1 deletion config/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
# Pasta de configurações
# Pasta de configurações

Para gestão das configurações o projeto usa um simples arquivo .env

Para você não começar do zero, nessa pasta existe o arquivo env-sample com todas configurações definidas

Basta então copiar este arquivo para a raiz do projeto:

```bash
cp env-sample ../.env
```
6 changes: 6 additions & 0 deletions config/env-sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
BACKEND_SECRET_KEY=escolha-um-segredo-como-valor-para-o-django
# SECURITY WARNING: don't run with debug turned on in production!
BACKEND_DEBUG=False
# Configure os dominios ou ips que sua aplicação vai rodar, separadas por vírgula
BACKEND_ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres

0 comments on commit 933b143

Please sign in to comment.