Django 网络推送 "Reverse for 'save_webpush_info'"

Django web-push "Reverse for 'save_webpush_info'"

我已经在我的项目中安装了 django-webpush 并把 {% webpush_header %} 在我的 HTML 模板的 <head> 部分按照指示,但是我收到一个错误:

NoReverseMatch at /
Reverse for 'save_webpush_info' not found. 'save_webpush_info' is not a valid view function or pattern name.

我在上面使用 {% load webpush_notifications %} 并添加了 webpush 作为 INSTALLED_APPS 的一部分,以及 urls.py 中的以下内容:

url(r'^webpush/', include('webpush.urls')),

https://github.com/safwanrahman/django-webpush

我假设你的 urls.py 是这样的:

app_name = '<something>'

urlpatterns = [
    # Other patterns
    url(r'^webpush/', include('webpush.urls')),
]

改为执行以下操作:

from django.urls import path


app_urls = (
    [
        # Other patterns
    ],
    '<something>' # Specifying app_namespace
)

urlpatterns = [
    path('', include(app_urls)),
    path('webpush/', include('webpush.urls')),
]

编辑:因为这些是第三方包的 url,所以最好将它们放在项目的顶层 urls.py。如果您希望路径类似于此应用程序:

path('path/to/some_app/webpush/', include('webpush.urls')),