请教大佬们一个问题,pyhton DRF+VUE 项目,刷新后无法加载 CSS2022-07-26 20:36:34TestWhite TestWhite订阅者关注私信250文章0粉丝 测试交流1 173字数 78阅读0分15秒阅读模式刚打开项目是正常的,登录进入首页后,刷新也正常,但是点了导航条到二级目录后,刷新后变成了白屏,提示 CSS 加载报错。有没有大佬帮忙看看!网上查了半天都没找到解决方案!!!软件测试测试相关阅读AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断从零搭建AI测试用例工作流:需求文档自动转思维导图AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误测试反模式的思考 回复 1 陈恒捷 9 2022-07-26 20:31:04 1F 回复 没有代码细节,只能根据报错信息给个排查方向:报错信息是说这些 css、js 文件,由于请求获取文件时,返回的 mine type 为 text/html ,且开启了严格 mine 检查机制,所以由于这个类型并非有效的 js/css 文件 mine 类型,这个资源被拒绝应用了。mine type 具体体现为,network 标签里这些文件资源请求的 response header 里的 content-type 。正常 js 应该是 text/javascript ,css 应该是 text/css 。content-type 一般会被 web 服务器自行根据扩展名进行处理,你这里没有正常处理,有可能是你这个服务对静态资源返回的配置有问题,或者放的位置不对,可以根据这个方向排查下。如果没有思路,麻烦提供更详细的一些项目配置信息,可以的话最好直接把可重现问题的项目最小源码放到 github 仓库,方便其他人帮你查看。django 访问静态文件要配置权限的,配置了没有,VUE 是用的 2 还是 3,VUE 的打包路径是不 diststatic ,django 只认这个目录您好,用的 vue2,dist/static 也是对的。 我目前进入首页是正常的,点了导航信息后也是正常。只是此时刷新后才会出现报错。看看权限配置好了没有 settings.py 配置 STATIC_URL = ‘/static/’ STATIC_ROOT = os.path.join(BASE_DIR, ‘vue/dist/static’) UPLOAD_ROOT = os.path.join(BASE_DIR, ‘static’)STATICFILES_DIRS = [ (“css”, os.path.join(STATIC_ROOT, ‘css’)), (“img”, os.path.join(STATIC_ROOT, ‘img’)), (“js”, os.path.join(STATIC_ROOT, ‘js’)), (“upload”, os.path.join(UPLOAD_ROOT, ‘upload’)), (“fonts”, os.path.join(STATIC_ROOT, ‘fonts’)), ]url 配置 re_path(r’^static/(?P<path>.*)$’,serve,{‘document_root’: settings.UPLOAD_ROOT}), STATICFILES_DIRS 这个还真没配,晚上回去试试,我记得我配置那没那么多,最多就到 dist/STATIC 就没了谢大佬指点,回头我试试传到 git 上去 回复问题 匿名网友 确定 昵称 邮箱 网址 Address 提交 取消 拖动滑块以完成验证 您可能喜欢 AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断 从零搭建AI测试用例工作流:需求文档自动转思维导图 AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例 宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误 宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误 测试反模式的思考 使用 cookie 绕过验证码,换一个系统就无法通过验证 MeterSphere测试平台UI 自动化窗口切换方法 5000 块买的 python 自动化课程难道就这? 在 Linux 上搭建 Jenkins,自动构建接口测试
1F
没有代码细节,只能根据报错信息给个排查方向:
报错信息是说这些 css、js 文件,由于请求获取文件时,返回的 mine type 为 text/html ,且开启了严格 mine 检查机制,所以由于这个类型并非有效的 js/css 文件 mine 类型,这个资源被拒绝应用了。
mine type 具体体现为,network 标签里这些文件资源请求的 response header 里的 content-type 。正常 js 应该是 text/javascript ,css 应该是 text/css 。content-type 一般会被 web 服务器自行根据扩展名进行处理,你这里没有正常处理,有可能是你这个服务对静态资源返回的配置有问题,或者放的位置不对,可以根据这个方向排查下。
如果没有思路,麻烦提供更详细的一些项目配置信息,可以的话最好直接把可重现问题的项目最小源码放到 github 仓库,方便其他人帮你查看。django 访问静态文件要配置权限的,配置了没有,VUE 是用的 2 还是 3,VUE 的打包路径是不 diststatic ,django 只认这个目录您好,用的 vue2,dist/static 也是对的。
我目前进入首页是正常的,点了导航信息后也是正常。只是此时刷新后才会出现报错。看看权限配置好了没有
settings.py 配置
STATIC_URL = ‘/static/’
STATIC_ROOT = os.path.join(BASE_DIR, ‘vue/dist/static’)
UPLOAD_ROOT = os.path.join(BASE_DIR, ‘static’)
STATICFILES_DIRS = [
(“css”, os.path.join(STATIC_ROOT, ‘css’)),
(“img”, os.path.join(STATIC_ROOT, ‘img’)),
(“js”, os.path.join(STATIC_ROOT, ‘js’)),
(“upload”, os.path.join(UPLOAD_ROOT, ‘upload’)),
(“fonts”, os.path.join(STATIC_ROOT, ‘fonts’)),
]
url 配置
re_path(r’^static/(?P<path>.*)$’,serve,{‘document_root’: settings.UPLOAD_ROOT}),
STATICFILES_DIRS 这个还真没配,晚上回去试试,我记得我配置那没那么多,最多就到 dist/STATIC 就没了谢大佬指点,回头我试试传到 git 上去