Vercel Python Runtime
This quickstart uses django but you can easily adapt it to Flask, FastAPI or plain Python, see Vercel Python Templates.
Project Setup
Let’s create a new django application from Vercel’s template.
npx create-next-app vercel-django --example "https://github.com/vercel/examples/tree/main/python/django"
cd vercel-django
Database Setup
Create a Redis database using Upstash Console or Upstash CLI and export UPSTASH_REDIS_REST_URL
and UPSTASH_REDIS_REST_TOKEN
to your environment.
export UPSTASH_REDIS_REST_URL=<YOUR_URL>
export UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>
Environment Setup
Update requirements.txt
to include upstash-redis
.
Django==4.1.3
upstash-redis
We will create a Conda environment with python version 3.12
to match Vercel Python Runtime and avoid conflicts on deployment, you can use any other environment management system.
conda create --name vercel-django python=3.12
conda activate vercel-django
pip install -r requirements.txt
View Setup
Update /example/views.py
:
from datetime import datetime
from django.http import HttpResponse
from upstash_redis import Redis
redis = Redis.from_env()
def index(request):
count = redis.incr('counter')
html = f'''
<html>
<body>
<h1>Counter: { count }</h1p>
</body>
</html>
'''
return HttpResponse(html)
Run & Deploy
Run the app locally with python manage.py runserver
, check http://localhost:8000/
Deploy your app with vercel
Set UPSTASH_REDIS_REST_URL
and UPSTASH_REDIS_REST_TOKEN
in your project’s Settings -> Environment Variables. Redeploy from Deployments tab.
You can also integrate your Vercel projects with Upstash using Vercel Integration module. Check this article.
Was this page helpful?