首页 > 其他分享 >随记:pywebio+django报错“Failed to load resource”,cdn失效

随记:pywebio+django报错“Failed to load resource”,cdn失效

时间:2022-11-16 10:47:44浏览次数:46  
标签:load pywebio 静态 cdn django 报错 PyWebIO 目录 随记

自己用Django + pywebio 搭建的网站一直正常运转,但近期出现了报错“Failed to load resource”,链接显示:“http://127.0.0.1:8000/?_pywebio_cdn=False”,经查阅官网资料,应该是cdn突然失效导致的。

【解决方案】

官网“高级特性”有如下描述:

PyWebIO静态资源的托管

PyWebIO默认使用CDN来获取前端的静态资源,如果要将PyWebIO应用部署到离线环境中,需要自行托管静态文件, 并将 webio_view() 或 webio_handler() 的 cdn 参数设置为 False 。

cdn=False 时需要将静态资源托管在和PyWebIO应用同级的目录下。 同时,也可以通过 cdn 参数直接设置PyWebIO静态资源的URL目录。

PyWebIO的静态文件的路径保存在 pywebio.STATIC_PATH 中,可使用命令 python3 -c "import pywebio; print(pywebio.STATIC_PATH)" 将其打印出来。

注解

使用 start_server() 启动的应用,如果将 cdn 参数设置为 False ,会自动启动一个本地的静态资源托管服务,无需手动托管。

1、根据官网步骤操作后,发现静态文件的目录“html”保存在django工程根目录下,app目录里的“urls.py”改为webio_view(views.Index,cdn=False)依然报错。所以改用“通过 cdn 参数直接设置PyWebIO静态资源的URL目录”的方式操作。

2、查看django工程同名目录下的“settings.py”,里面找到语句“ STATIC_URL = '/static/' ”,并保证“INSTALLED_APPS”下'django.contrib.staticfiles'没有被注释掉。

3、在django工程里你自建的app目录下,新建"static"目录,将通过“print(pywebio.STATIC_PATH)”找到的“html”文件夹复制到"static"目录下。

4、自建app目录里的“urls.py”改为webio_view(views.Index,cdn='/static/html'),执行成功。

自此,问题解决!

小知识:html文件夹名可以改为任意名称,只要把webio_view函数里的cdn参数一并改了就行。

标签:load,pywebio,静态,cdn,django,报错,PyWebIO,目录,随记
From: https://www.cnblogs.com/fantamol/p/16895053.html

相关文章