Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Se você criou um portfólio ou protótipo de aplicativo com Django, hospedá-lo gratuitamente no Vercel está a apenas alguns cliques e um pequeno pedaço de código de distância. O Heroku costumava ser um salva-vidas, mas parou de oferecer hospedagem gratuita em 2022.

Usando o Vercel, você pode implantar seu aplicativo diretamente do GitHub gratuitamente e qualquer pessoa pode acessá-lo de qualquer lugar. Veja como fazer isso.

Configure seu aplicativo Django para Vercel

Você precisará configurar alguns aspectos do seu projeto Django antes de implantá-lo no Vercel.

Configurar o arquivo vercel.json

Primeiro, você precisa criar um arquivo vercel.json na pasta raiz do seu projeto para apontar o Vercel para a interface de gateway do servidor web (WSGI) do seu aplicativo:

{
"construir": [
{
"src": "django_app_name/wsgi.py",
"use": "@vercel/python"
}
],
"rotas": [
{
"origem": "/(.*)",
"dest": "django_app_name/wsgi.py"
}
]
}

Substituir django_app_name com o nome do seu aplicativo Django (o mesmo da pasta que contém o settings.py arquivo).

Refatore o arquivo wsgi.py

Vercel não reconhece o aplicativo variável no arquivo wsgi.py. Felizmente, a única alteração que você fará para resolver esse problema é passar o aplicativo variável em Vercel como aplicativo.

Refatore o seu aplicativo wsgi.py arquivo como mostrado:

importar os
de django.core.wsgi importar get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.settings")
aplicativo = get_wsgi_application()
aplicativo = aplicativo

Conecte-se a um banco de dados remoto

Se seu aplicativo precisar de suporte de banco de dados, use a provisão do Vercel ou crie uma instância de banco de dados externo em algum lugar. Felizmente, existem muitos banco de dados PostgreSQL gratuito opções on-line. Você também pode conectar-se a um cluster MongoDB se você preferir um banco de dados NoSQL.

No entanto, vamos nos ater ao cluster de banco de dados PostgreSQL da Railway aqui, pois ele oferece um crédito inicial e é fácil de configurar.

Para configurar uma instância do PostgreSQL no Railway:

  1. Visite a Estrada de ferro site para criar uma conta.
  2. Clique Iniciar um novo projeto.
  3. Selecione Provisionar PostgreSQL.
  4. Clique no Postgre banner para ver suas variáveis ​​de banco de dados e strings de conexão.
  5. Vou ao Variáveis aba. Depois copie e cole o DATABASE_URL string em um editor de texto para formatá-lo. Certifique-se de substituir os espaços reservados no DATABASE_URL string com os valores de variáveis ​​apropriados.
  6. Copie as variáveis ​​restantes e configure seu banco de dados em seu Django settings.py arquivo, como mostrado abaixo. Lembre-se de substituir os nomes das variáveis ​​pelos valores apropriados fornecidos pela Railway.
    BANCOS DE DADOS = {
    'padrão': {
    'MOTOR': 'django.db.backends.postgresql',
    'URL': 'DATABASE_URL',
    'NOME': 'PGDATABASE',
    'DO UTILIZADOR': 'PGUSER',
    'SENHA': 'PGPASSWORD',
    'HOSPEDAR': 'PGHOST',
    'PORTA': PGPORT,
    }
    }

Considerar mascarando essas variáveis ​​secretas usando um .env arquivo para reforçar a segurança do seu aplicativo Django. Além disso, o Vercel permite listar suas variáveis ​​de ambiente durante a implantação.

Então, uma vez que você usa o os.getenv método, Python busca a variável especificada do ambiente de hospedagem Vercel. Assim, a configuração do seu banco de dados se torna:

BANCOS DE DADOS = {
'padrão': {
'MOTOR': 'django.db.backends.postgresql',
'URL': os.getenv('POSTGRES_URL'),
'NOME': os.getenv('PGNAME'),
'DO UTILIZADOR': os.getenv('PGUSER'),
'SENHA': os.getenv('POSTGRES_PASSWORD'),
'HOSPEDAR': os.getenv('PGHOST'),
'PORTA': os.getenv('PGPORT),
}
}

Implante seu repositório GitHub no Vercel

A segunda parte desse processo envolve apontar o Vercel para seu repositório no GitHub. Depois de fazer isso, seu aplicativo estará ativo e qualquer pessoa poderá acessar seu site em um URL gerado pela Vercel.

Criar um arquivo de requisitos

Vercel tenta encontrar e instalar as dependências do seu projeto dentro do requisitos.txt arquivo durante a implantação. No entanto, lembre-se de que escrever dependências de um ambiente virtual em requisitos.txt é sempre mais fácil do que no espaço global.

Crie um arquivo requirements.txt na pasta raiz do seu projeto usando o seguinte comando no terminal:

pip congelar > requisitos.txt

Conecte seu repositório ao Vercel

O Vercel funciona rastreando as alterações em um repositório. Portanto, a primeira etapa da implantação é envie seu código para o GitHub ou qualquer outro sistema de controle de versão que funcione melhor para você. Ignore esta etapa se seu código já estiver no GitHub.

Para começar no Vercel:

  1. Inscreva-se no Site da Vercel usando sua conta do GitHub. Siga as instruções na tela para concluir o registro da conta para começar.
  2. Em seguida, selecione a opção de conta Hobby para usar o Vercel gratuitamente.
  3. Depois de logado, clique Adicionar novo. Então clique Projeto.
  4. Em seguida, clique Adicionar conta do GitHub de Importar repositório Git seção. Ou você pode clicar Alternar provedor Git se você usar outro controle de versão além do GitHub.
  5. Clique Todos os repositórios. Então clique Instalar.
  6. Selecione sua conta do GitHub na lista.
  7. O Vercel detectará automaticamente seus repositórios. Clique Importar à direita daquele que carrega seu projeto Django.
  8. Clique no variáveis ​​ambientais dropdown para listar suas variáveis ​​de ambiente no Vercel. Isso pode incluir a chave secreta do seu aplicativo e as strings de conexão do banco de dados. Preencha o Nome campo com o nome da variável. Em seguida, insira seu valor no campo Valor campo.
  9. Clique Adicionar para criar um novo campo e adicionar outras variáveis ​​de ambiente.
  10. Finalmente, clique Implantar. Seu aplicativo deve estar ativo em alguns momentos. Clique no URL à direita do ícone da web para visitar seu novo site.

Depois de implantado, o Vercel rastreia as alterações subsequentes enviadas para a ramificação principal para refleti-las na versão ao vivo. Portanto, você só precisa implantar suas alterações no GitHub para atualizar seu aplicativo em tempo real.

Embora o Vercel gere automaticamente uma URL para seu site Django, você também pode implantar usando um nome de domínio personalizado. Então considere comprar um nome de domínio de um registrador se você precisar de um.

Hospede seu site Django sem nenhum custo

Às vezes, é preciso mais do que um repositório GitHub para impressionar potenciais empregadores e clientes. Enquanto um repositório forte e coerente mostra sua competência, exibir uma versão ao vivo de seu portfólio ou protótipo de projeto apresenta você como um empreendedor.

Hospedar um projeto que não gera receita geralmente é desanimador. Mas, felizmente, o Vercel é um dos poucos serviços gratuitos de hospedagem na web. E você viu como implantar seu projeto Django gratuitamente na plataforma. Embora a URL gerada pareça confusa, você pode colá-la no ReadMe do seu projeto no GitHub para mostrar às pessoas como sua criação funciona.