Managers
Sobre
No projeto existem dois managers para auxiliar o desenvolvimento do projeto Django, e se necessário auxiliar o desenvolvimento do projeto Mobile.
- O primeiro manager build tem como objetivo gerar todo o código biolerplate padrão (CRUD) da aplicação Django.
- O segundo manager flutter tem como objetivo gerar um projeto flutter baseado nas apps do projeto Django.
Manager Build
Parâmetros
- App [Obrigatório] - Nome da app que deverá ser renderizada pelo manager
- Model [Opcional] - Nome do model que deverá ser renderizado pelo manager. (Caso não seja passada, o sistema renderizará todos os models da App)
-
templates [Opcional] - Caso seja passado apenas os arquivos de template HTML.
3.1. Para que o template de listagem renderize os campos corretamente, devem ser
setados quais atributos serão mostrados no parâmetro fields_display do class Meta do models.3.2. Para os models que possuam campos relacionais do tipo ForeignKey e você deseja que seja criado o modal com um formulário para inserção de dados, você deve configurar o atributo fk_fields_modal também no class Meta do seu models e em sua View utilizar "Modal" no nome da classe do modelo FK.
Exemplo: class Exemplo(Base): ... class Meta: fields_display = ["atributo_um", "atributo_dois"', "atributo_n"] fk_fields_modal = ["foreignkey_um", "foreignkey_dois", "foreignkey_n"]
-
url [Opcional] - Deve ser executado para criar as urls.
- forms [Opcional] - Deve ser executado para criar os forms.
- views [Opcional] - Deve ser executado para criar as ClassBaseView`s.
- renderhtml [Opcional] - Deve ser executado para renderizar os formulários no templates HTML.
- format [Opcional] - Dever ser executado para formatar o código utilizando a PEP 8.
- api [Opcional] - Deve ser executado para gerar todo o código (CRUD) boilerplate da APIRest.
Executar
python manage.py build NomeDaApp
Manager Flutter
Observação
Para que o projeto funcione corretamente é necessário ter na sua máquina o Dart 2.12.3 e o Flutter 2.0.5 na versão mínima.
Para baixar as ferramentas, acesse https://flutter.dev/
Para que esse manager funcione de forma correta, devem ser configurados no arquivo settings.py do projeto os seguintes valores:
1. FLUTTER_APPS = ['usuario', ]
2. API_PATH = https://dominio.com.br/core/api
Executar
python manage.py flutter
Configuração Projeto Android
Para que o projeto Android funcione de forma correta, é necessário adicionar o parâmetro:
multiDexEnabled true Vide exemplo abaixo:
Os comandos abaixo devem ser utilizados caso seja criada uma nova app no projeto Django e você queira gerar o correspondente no projeto Flutter.
Para gerar os arquivos flutter de uma determinada App/Model
python manage.py flutter --model NomeDaApp nome_do_model
Para atualizar o arquivo main.dart com todas as apps do projeto
python manage.py flutter --main
Como resultado desse comando, será criado um diretório de nome flutter no mesmo nível do diretório raiz do projeto e dentro desse diretório estará o projeto flutter.