Home > Software engineering >  django pwa error = cannot import name 'url' from 'django.conf.urls
django pwa error = cannot import name 'url' from 'django.conf.urls

Time:04-02

Hello I am using Django 4.0.3 and I try to use django-pwa in my project but when i runserver i get the below error.

I followed this tutorial geeksforgeeks:make-pwa-of-a-django-project for including progressive web application feature in my project.

I think url from django.conf.urls is deprecated.

I am sure that must exist some solutions...

Help me please.

Error

File "C:\Users\Republic Of Computer\Desktop\Master cours et TD\python\tberra3lipy\venv\lib\site-packages\pwa\urls.py", line 1, in <module>
    from django.conf.urls import url
ImportError: cannot import name 'url' from 'django.conf.urls' (C:\Users\Republic Of Computer\Desktop\Master cours et TD\python\tberra3lipy\venv\lib\site-packages\django\conf\urls\__init__.py)

urls.py

from django.contrib import admin
from django.conf.urls.static import static
from django.urls import path,include
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('donation/',include('donation.urls',namespace='donation')),
    path('',include('pwa.urls')),
] static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

settings.py

from pathlib import Path
import os

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'pwa',
    'accounts',
    'donation',
    
]

ROOT_URLCONF = 'src.urls' 
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/

STATIC_URL = '/static/'
#pwa
PWA_SERVICE_WORKER_PATH = os.path.join(BASE_DIR, 'static/js', 'serviceworker.js')
PWA_APP_NAME = 'tberra3li'
PWA_APP_DESCRIPTION = "app for blood donors"
PWA_APP_THEME_COLOR = '#000000'
PWA_APP_BACKGROUND_COLOR = '#ffffff'
PWA_APP_DISPLAY = 'standalone'
PWA_APP_SCOPE = '/'
PWA_APP_ORIENTATION = 'any'
PWA_APP_START_URL = '/'
PWA_APP_STATUS_BAR_COLOR = 'default'
PWA_APP_ICONS = [
    {
        'src': 'static/assets/img/icon-160x160.png',
        'sizes': '160x160'
    }
]
PWA_APP_ICONS_APPLE = [
    {
        'src': 'static/assets/img/icon-160x160.png',
        'sizes': '160x160'
    }
]
PWA_APP_SPLASH_SCREEN = [
    {
        'src': 'static/assets/img/icon.png',
        'media': '(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)'
    }
]
PWA_APP_DIR = 'ltr'
PWA_APP_LANG = 'en-US'

CodePudding user response:

django.conf.urls is deprecated in Django 4, so you cannot use django-pwa with your version of Django, you need to use Django 3. Otherwise you could fork/edit django-pwa to replace django.conf.urls.url (that is used in this file) with django.urls.path, see this pull request.

  • Related