Olá Renato, tudo bem com você?
A razão pela qual o import das Views precisa ser feito após a declaração do app
no Flask está relacionada ao conceito de importação circular. Quando você importa um módulo no Python, o interpretador executa o módulo importado. Se o módulo importado também tenta importar o módulo que o está importando, isso cria um ciclo de dependência que pode levar a erros. Deixo a seguir uma imagem que ilustra esse conceito de importação circular:
No seu caso, o arquivo views.py
precisa importar a instância do app
para definir as rotas. Se você tentar importar views
antes de criar a instância do app
, o Python não conseguirá resolver a dependência, pois o app
ainda não existirá no momento da importação. É por isso que você precisa criar a instância do app
primeiro e, em seguida, importar as views
.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!