Skip to content

ThiagoSousa81/Django_Vercel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deploy with Vercel

Django + Vercel

Este exemplo mostra como usar Django 4 no Vercel com Serverless Functions usando o Python Runtime.

Demo

https://django-template.vercel.app/

Como funciona

Nosso aplicativo Django, example está configurado como um aplicativo instalado em vercel_app/settings.py:

# vercel_app/settings.py
INSTALLED_APPS = [
    # ...
    'example',
]

Nós permitimos "*.vercel.app" subdomínios em ALLOWED_HOSTS, além de 127.0.0.1:

# vercel_app/settings.py
ALLOWED_HOSTS = ['127.0.0.1', '.vercel.app']

O módulo wsgi deve usar uma variável pública chamada app para expor a aplicação WSGI:

# vercel_app/wsgi.py
app = get_wsgi_application()

A configuração WSGI_APPLICATION correspondente é configurada para usar a variável app do módulo vercel_app.wsgi:

# vercel_app/settings.py
WSGI_APPLICATION = 'vercel_app.wsgi.app'

Existe uma única visualização que renderiza a hora atual em example/views.py:

# example/views.py
from datetime import datetime

from django.http import HttpResponse


def index(request):
    now = datetime.now()
    html = f'''
    <html>
        <body>
            <h1>Hello from Vercel!</h1>
            <p>The current time is { now }.</p>
        </body>
    </html>
    '''
    return HttpResponse(html)

Esta visualização é exposta em um URL por meio de example/urls.py:

# example/urls.py
from django.urls import path

from example.views import index


urlpatterns = [
    path('', index),
]

Finalmente, ele fica acessível ao servidor Django dentro de vercel_app/urls.py:

# vercel_app/urls.py
from django.urls import path, include

urlpatterns = [
    ...
    path('', include('example.urls')),
]

Este exemplo usa o Web Server Gateway Interface (WSGI) com Django para permitir o tratamento de solicitações no Vercel com funções sem servidor.

Executando localmente

python manage.py runserver

Sua aplicação Django agora está disponível em http://localhost:8000.

Implantação com um clique

Implante o exemplo usando Vercel:

Deploy with Vercel

Releases

No releases published

Packages

No packages published

Languages