Command Palette

Search for a command to run...

Back to templates
Django icon

Django Starter Template

Use Django 5 on Wasmer

preview of Django Starter Template

Django + Wasmer

This example shows how to use Django 5 on Wasmer Edge.

Demo

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

How it Works

Our Django application, example is configured as an installed application in api/settings.py:

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

We allow "*.wasmer.app" subdomains in ALLOWED_HOSTS, in addition to 127.0.0.1:

# api/settings.py
ALLOWED_HOSTS = ['127.0.0.1', '.wasmer.app']

The wsgi module must use a public variable named app to expose the WSGI application:

# api/wsgi.py
app = get_wsgi_application()

The corresponding WSGI_APPLICATION setting is configured to use the app variable from the api.wsgi module:

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

There is a single view which renders the current time in 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 Wasmer!</h1>
            <p>The current time is { now }.</p>
        </body>
    </html>
    '''
    return HttpResponse(html)

This view is exposed a URL through example/urls.py:

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

from example.views import index


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

Finally, it's made accessible to the Django server inside api/urls.py:

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

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

This example uses the Web Server Gateway Interface (WSGI) with Django to enable handling requests on Wasmer Edge.

Running Locally

python manage.py runserver

Your Django application is now available at http://localhost:8000.

FrameworkDjango
LanguagePython
Powered by package
avatar

python/python

Browse all templates →
Django Starter Template · Wasmer