我在 django 中有一个运行良好的网站,我使用 python manage.py runserver
命令在
http://127.0.0.1:8000/运行该网站。然后,我按照 https://www.geeksforgeeks.org/make-pwa-of-a-django-project/ 链接中的所有步骤进行操作,按原样使用他们的 serviceworker.js 并将我的网站转换为 PWA。问题是第一次,应用程序加载,我刷新页面,应用程序再次加载。此后,应用程序不会加载,但每次运行服务器时,serviceworker.js 的代码都会显示在我的屏幕上。
出了什么问题?
这是渲染的屏幕截图:
此外,如果我尝试导航到任何应用程序网址(例如 register、near_park 等),我会在屏幕上看到“无法访问站点”消息,并在控制台中看到以下错误:
serviceworker.js:23 Uncaught (in promise) TypeError: Failed to fetch
at serviceworker.js:23
请参阅我上面提供的 GeeksforGeeks 链接中的 serviceworker.js 文件来查看第 23 行。
我在设置 Django-pwa 时遇到的所有教程中都没有提到这一点,但对于现代浏览器中的服务操作来说,即使对于本地开发和测试,将请求协议切换到 HTTPS 也是非常重要的。除此之外,服务人员将无法按预期工作。
您可以使用 Django-simple-pwa 只需运行
pip install django-simple-pwa
然后将其添加到您已安装的应用程序中
INSTALLED_APPS = [
...
'pwa',
]
然后按照这些文件进行操作。
pypi:https://pypi.org/project/django-simple-pwa/
文档:https://django-simple-pwa.readthedocs.io/fa/latest/
文件是波斯语,但可以用谷歌翻译翻译成你当地的语言我测试了一下没有翻译问题