Skip to main content

Library for adding progressive web app functionality in your django project.

Project description


Library for adding progressive web app functionality in your django project.

Table of content


This Django library adds progressive web app functionality in your django project.

When you open your site from your mobile browser, will prompt you to add the site to your home screen as an application.


pip install django-progressive


Add django-progressive django_pwa to your installed apps INSTALLED_APPS in django



In using the prefix PWA_ and the keys from the web app manifest all in capital you can configure the pwa manifest.

PWA_NAME = 'test app'
PWA_SHORT_NAME = 'test_app'
        "src": "/static/icons/icon-128x128.png",
        "sizes": "128x128",
        "type": "image/png"
    }, {
        "src": "/static/icons/icon-144x144.png",
        "sizes": "144x144",
        "type": "image/png"
    }, {
        "src": "/static/icons/icon-152x152.png",
        "sizes": "152x152",
        "type": "image/png"
    }, {
        "src": "/static/icons/icon-192x192.png",
        "sizes": "192x192",
        "type": "image/png"
    }, {
        "src": "/static/icons/icon-256x256.png",
        "sizes": "256x256",
        "type": "image/png"
    }, {
        "src": "/static/icons/icon-512x512.png",
        "sizes": "512x512",
        "type": "image/png"

You can change the default worker location with PWA_WORKER_LOCATION.

PWA_WORKER_LOCATION = join('static', 'django_pwa_demo', 'service-worker.js')


Add django_pwa urls to your

from django.urls import path, include

urlpatterns = [
    path('', include('django_pwa.urls')),

You can add {% load pwa_extras %} to use {% load_manifest %} template tag to load the manifest.json and {% load_worker %} to load the worker-app.js.

{% load pwa_extras %}
<!DOCTYPE html>
<html lang="en">
    <meta charset="UTF-8">
    <title>PWA Test</title>
    {% load_manifest %}
<h1>Hello world!!!</h1>

{% load_worker %}


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-progressive, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size django-progressive-1.0.2.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page