neon-jungle / wagtail-birdsong

Create, send, preview, edit and test email campaigns from within Wagtail
BSD 3-Clause "New" or "Revised" License
103 stars 27 forks source link

makemigrations error - ImportError: cannot import name 'url' from 'django.conf.urls' #17

Closed hanktopia closed 1 year ago

hanktopia commented 2 years ago

Hi, I've run into an issue while trying to incorporate birdsong into a Django 4.0 + wagtail 2.16 site. The installation steps were successful, but when I try to run makemigrations after adding the campaign to models.py I see the following:

mike@strut-mike ~ $ docker container exec -it strut python manage.py makemigrations
<snip>
  File "/app/newsletter/wagtail_hooks.py", line 2, in <module>
    from birdsong.options import CampaignAdmin
  File "/usr/local/lib/python3.10/site-packages/birdsong/options.py", line 1, in <module>
    from django.conf.urls import url
ImportError: cannot import name 'url' from 'django.conf.urls' (/usr/local/lib/python3.10/site-packages/django/conf/urls/__init__.py)

According to stackoverflow, this appears to be because "django.conf.urls.url() was deprecated in Django 3.0, and is removed in Django 4.0+".

Birdsong looks very useful, I'd really like to use it. Would it be possible to make the changes needed to support Django 4.0? Many thanks for your efforts, Mike