Compartilhar via


Modelos de projeto de aplicativo Web do Python

O Python no Visual Studio dá suporte ao desenvolvimento de projetos Web em estruturas Bottle, Flask e Django por meio de modelos de projeto e um inicializador de depuração que pode ser configurado para lidar com várias estruturas. Esses modelos incluem um arquivo requirements.txt para declarar as dependências necessárias. Quando você cria um projeto com base em um desses modelos, o Visual Studio solicita que você instale os pacotes dependentes, conforme descrito nos requisitos de instalação posteriormente neste artigo.

Você também pode usar o modelo genérico do Projeto Web para outras estruturas, como o Pyramid. Nesse caso, nenhum framework é instalado com o modelo. Em vez disso, você instala os pacotes necessários no ambiente que está usando para o projeto. Para obter mais informações, consulte a janela de ambientes do Python - aba Pacote.

Opções de modelo de projeto

Você cria um projeto a partir de um modelo selecionando Arquivo>Novo>Projeto no menu da barra de ferramentas. Na caixa de diálogo Criar um novo projeto , você pode filtrar a lista de modelos para ver as opções disponíveis para projetos Web do Python. Insira os termos de chave na caixa Pesquisar ou use os menus suspensos de filtro para selecionar o Python como o idioma e a Web como o tipo de projeto.

Captura de tela que mostra a caixa de diálogo Criar um novo projeto com os modelos filtrados para mostrar opções para aplicativos Web Python no Visual Studio.

Depois de selecionar um modelo, você fornecerá um nome para o projeto e a solução e definirá opções para o diretório da solução e o repositório Git.

O modelo genérico do Projeto Web fornece um projeto vazio do Visual Studio sem código e não faz suposições além de ser um projeto python. Os outros modelos são baseados nas estruturas web Bottle, Flask ou Django e agrupados em três categorias, conforme descrito nas seções a seguir. Os aplicativos criados por qualquer um desses modelos contêm código suficiente para executar e depurar o aplicativo localmente. Cada modelo também fornece o objeto de aplicativo WSGI necessário (python.org) para uso com servidores Web de produção.

Grupo em branco

Todos os modelos de Projeto Web da estrutura Blank<> criam um projeto com código boilerplate mais ou menos mínimo e as dependências necessárias declaradas em um arquivo requirements.txt.

Template Description
Projeto Web Blank Bottle Gera um aplicativo mínimo no arquivo app.py com uma home page para o / local e uma /hello/<name> página que ecoa o <name> valor usando um modelo de página embutido curto.
Projeto Web django em branco Gera um projeto do Django com a estrutura de site principal do Django, mas sem aplicativos Django. Para obter mais informações, consulte os modelos do Django e a Etapa 1 do Learn Django.
Projeto Web Flask em Modelo Gera um aplicativo mínimo com uma única página "Olá, Mundo!" para o / local. Este aplicativo é semelhante ao resultado de seguir as etapas detalhadas no Início Rápido: Usar o Visual Studio para criar seu primeiro aplicativo Web Python. Para obter mais informações, consulte Learn Flask Etapa 1.

Grupo web

Todos os modelos do Framework< Web Project criam um aplicativo Web inicial com um design idêntico, independentemente da estrutura escolhida.> O aplicativo tem páginas Página Inicial, Sobre e Contato, juntamente com uma barra de menus de navegação e design responsivo que usa Bootstrap. Cada aplicativo é configurado adequadamente para fornecer arquivos estáticos (CSS, JavaScript e fontes) e usa um mecanismo de modelo de página apropriado para a estrutura.

Template Description
Projeto Web Bottle Gera um aplicativo cujos arquivos estáticos estão contidos na pasta estática e tratados por meio do código no arquivo app.py . O roteamento para as páginas individuais está contido no arquivo routes.py . A pasta views contém os modelos de página.
Projeto Web do Django Gera um projeto do Django e um aplicativo Django com três páginas, suporte à autenticação e um banco de dados SQLite (mas sem modelos de dados). Para obter mais informações, consulte os modelos do Django e a Etapa 4 do Learn Django.
Projeto Web do Flask Gera um aplicativo cujos arquivos estáticos estão contidos na pasta estática . O código no arquivo views.py manipula o roteamento com modelos de página que usam o mecanismo Jinja contido na pasta de modelos . O arquivo runserver.py fornece código de inicialização.

Requisitos de instalação

Quando você cria um projeto com base em um modelo específico da estrutura, o Visual Studio fornece uma caixa de diálogo para ajudá-lo a instalar os pacotes necessários usando pip. Também recomendamos usar um ambiente virtual para projetos Web para garantir que as dependências corretas sejam incluídas ao publicar seu site:

Captura de tela que mostra a caixa de diálogo para instalar pacotes para um modelo de projeto no Visual Studio.

Se você usar o controle do código-fonte, normalmente omite a pasta de ambiente virtual porque esse ambiente pode ser recriado usando apenas o arquivo requirements.txt . A melhor maneira de excluir a pasta é primeiro selecionar a opção eu mesmo instalá-las e desabilitar a confirmação automática antes de criar o ambiente virtual. Para obter mais informações, consulte Examinar os controles do Git no Tutorial do Learn Django e no Tutorial do Learn Flask.

Ao implantar no Serviço de Aplicativo do Microsoft Azure, selecione uma versão do Python como uma extensão de site e instale manualmente os pacotes. Além disso, como o Serviço de Aplicativo do Azure não instala automaticamente pacotes de um arquivo requirements.txt quando implantado do Visual Studio, siga os detalhes de configuração no aka.ms/PythonOnAppService.

Opções de depuração

Quando você abre um projeto Web para depuração, o Visual Studio inicia um servidor Web local em uma porta aleatória e abre seu navegador padrão para esse endereço e porta. Para especificar mais opções, clique com o botão direito do mouse no projeto no Gerenciador de Soluções, selecione Propriedades. Na página Propriedades , selecione a guia Depurar .

Captura de tela que mostra as propriedades do inicializador da Web para o modelo web genérico no Visual Studio.

Existem três grupos comuns de opções de configuração para depurar o projeto. O grupo Executar inclui as seguintes propriedades:

  • As opções Caminhos de Pesquisa, Argumentos de Script, Caminho do Interpretador e Argumentos do Interpretador são as mesmas para depuração normal.
  • A URL de Inicialização especifica a URL que é aberta no navegador. A localização predefinida é localhost.
  • O Número da Porta identifica a porta a ser usada, se nenhuma for especificada na URL (o Visual Studio seleciona uma automaticamente por padrão). Essa configuração permite substituir o valor padrão da variável de ambiente SERVER_PORT, que é usada pelos templates para configurar em qual porta o servidor de depuração local irá escutar.
  • A lista Ambiente define variáveis a serem definidas no processo gerado. O formato é uma lista de pares de <NAME>=<VALUE> separados por nova linha.

As propriedades nos grupos Executar Comando do Servidor e Depurar Comando do Servidor determinam como o servidor Web é iniciado. Como muitas estruturas exigem o uso de um script fora do projeto atual, o script pode ser configurado aqui e o nome do módulo de inicialização pode ser passado como um parâmetro.

  • O Comando pode ser um script Python (*.py arquivo), um nome de módulo (como em, python.exe -m module_name) ou uma única linha de código (como em, python.exe -c "code"). O valor na caixa suspensa indica qual tipo é pretendido.
  • A lista de Argumentos é passada na linha de comando seguindo o comando.
  • Novamente, a lista Ambiente define variáveis a serem definidas após todas as propriedades que podem modificar o ambiente, como o número da porta e os caminhos de pesquisa. Esses valores de variável podem substituir outros valores de propriedade.

Qualquer propriedade de projeto ou variável de ambiente pode ser especificada com a sintaxe do MSBuild, como $(StartupFile) --port $(SERVER_PORT). $(StartupFile) é o caminho relativo para o arquivo de inicialização e {StartupModule} é o nome importável do arquivo de inicialização. $(SERVER_HOST) e $(SERVER_PORT) são variáveis de ambiente normais definidas pelas propriedades URL de Inicialização e Número de Porta , automaticamente ou pela propriedade Ambiente .

Observação

Os valores no Comando executar servidor são usados com o comando Depurar>Servidor Inicial ou o atalho de teclado Ctrl+F5. Os valores no grupo Debug Server Command são usados com o comando Depurar>Iniciar Servidor de Depuração ou F5.

Configuração de frasco de amostra

O modelo Bottle Web Project inclui código padrão que faz a configuração necessária. Um aplicativo de garrafa importado pode não incluir esse código, no entanto, nesse caso, as seguintes configurações iniciam o aplicativo usando o módulo instalado bottle :

  • Executar grupo de comandos do servidor :

    • Comando: bottle (módulo)
    • Argumentos: --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
  • Grupo de comandos do servidor de depuração :

    • Comando: bottle (módulo)
    • Argumentos--debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app

A --reload opção não é recomendada ao usar o Visual Studio para depuração.

Configuração de pirâmide de exemplo

Atualmente, os aplicativos de pirâmide são melhor criados usando a pcreate ferramenta de linha de comando. Depois de criar o aplicativo, ele pode ser importado usando o modelo de código Python existente . Após a conclusão da importação, selecione a personalização do Projeto Web Genérico para configurar as opções. Essas configurações pressupõem que o Pyramid está instalado em um ambiente virtual no ..\env local.

  • Executar grupo:

    • Número da porta: 6543 (ou o que estiver configurado nos arquivos .ini )
  • Executar grupo de comandos do servidor :

    • Comando: ..\env\scripts\pserve-script.py (script)
    • Argumentos: Production.ini
  • Grupo de comandos do servidor de depuração :

    • Comando: ..\env\scripts\pserve-script.py (script)
    • Argumentos: Development.ini

Dica

Você provavelmente precisa configurar a propriedade Diretório de Trabalho do seu projeto, já que os aplicativos Pyramid normalmente estão em uma pasta abaixo da raiz do projeto.

Outras configurações

Se você tiver configurações para outra estrutura que gostaria de compartilhar ou se quiser solicitar configurações para outra estrutura, abra um problema no GitHub.