关于Django项目集成Xadmin后,出现服务异常解决方案
Django项目集成Xadmin后,偶尔出现页面不能访问,重启服务也不行,如果是Nginx部署直接报504等错误。
解决方案:
在项目中的静态文件中找到:bootstrap-clockpicker.js,具体路径
static/xadmin/vendor/bootstrap-clockpicker/bootstrap-clockpicker.js
找到 var svgNS = 'http://www.w3.org/2000/svg',将http改为https或者将此url用空字符代替,方可解决。
原因是xadmin加载静态文件时候会请求这个路径,现在这个连接使用https协议,而xadmin访问http,http跳转https时发生网络阻塞,所以导致我们的页面加载很慢,或者加载不出来的情况。
补充:
经过上面的修改后,结果发现问题仍然存在,由于项目是用uwsgi启动的,然后查看uwsgi日志,结果发现下面的一段报错信息。
HTTPSConnectionPool(host='bootswatch.com', port=443): Max retries exceeded with url: /api/3.json (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f7d0c153ef0>: Failed to establish a new connection: [Errno 101] Network is unreachable'))
原来xadmin启动的时候,会去访问bootswatch.com这个路径,而且看端口是443,而且后面的url是/api/3.json,那么我们可以大胆猜测完整路径为https://bootswatch.com/api/3.json,我们访问,果然是一堆js字串。
我们可以将这堆字串复制,放在项目的静态文件中,让其调用的时候直接访问我们的静态文件。
最后一步也就是最关进一步了,就是替换路径。
经过一番搜索,最终发现是这个文件调用了外链接口,extra_apps/xadmin/plugins/themes.py 。
编辑这个文件,在79行将需要外网访问的url改成我们自己的。问题解决。
关于Django项目集成Xadmin后,出现服务异常解决方案的更多相关文章
- Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- 项目集成seata和mybatis-plus冲突问题解决方案:(分页插件失效, 自动填充失效, 自己注入的id生成器失效 找不到mapper文件解决方案)
项目集成seata和mybatis-plus,seata与mybatis-plus冲突问题(所有插件失效,自动填充失效,找不到mapper文件解决方案) 自动填充代码: package com.fro ...
- django项目部署服务器后无法发送邮箱 错误信息:Connection unexpectedly closed
使用配置: python 3.7 + django 2.2.1 发送邮件模块 : from django.core.mail import send_mail 服务器:Centos7 阿里云轻 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:3、客户端:其它编程语言项目集成:Java集成应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:6、微服务间的调用方式:Rpc.StartTaskAsync。
系统目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Django1.9开发博客(14)- 集成Xadmin
xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性: 兼容 Django Admin 使用 B ...
- 学以致用三十-----pycharm创建django项目忘记添加app
记忆力有时候真的不是很好.因此有些操作步骤还是记录下来好了. pycharm版本-----2018.2.4 创建django项目 file-----newproject----- 创建的时候,appl ...
随机推荐
- 运算符“<”不能应用于类型“boolean”和“RegExp”。ts-plugin(2365)
在使用vue3 + setup + ts + volar插件开发时,遇到文件全红报这个错,尝试很多方法没有效果,最后把vscode插件全部卸载,然后重新安装就好了,如果有遇到此问题的可以尝试同样的方法 ...
- php 配置Gmail 发送邮件 PHPMailer
hotmail 获取邮箱授权码 准备 首先你应该登陆https://mail.google.com地址,注册一个Gmail邮箱,然后设置开启IMAP访问 打开设置,开启IMAP访问 获取应用专用密码 ...
- C++判断文本编码
#include <iostream> #include <fstream> #include <string> #include <sstream> ...
- centos安装JDK11
(一)建立目录 mkdir /home/jdk11 (二) 上传JDK的离线liunx包 cd /home/jdk11 示例:jdk-11.0.19_linux-x64_bin.tar.gz (三) ...
- cxDBTreeList:最简单的节点图标添加方法
先在窗体上放ImageList关联到cxDBTreeList,在cxDBTreeList的GetNodeImageIndex事件中写如下: procedure cxDBTreeList1GetNode ...
- [每日算法 - 华为机试] leetcode680. 验证回文串 II
入口 力扣https://leetcode.cn/problems/valid-palindrome-ii/submissions/ 题目描述 给你一个字符串 s,最多 可以从中删除一个字符. 请你判 ...
- Netty源码—9.性能优化和设计模式
大纲 1.Netty的两大性能优化工具 2.FastThreadLocal的实现之构造方法 3.FastThreadLocal的实现之get()方法 4.FastThreadLocal的实现之set( ...
- explorer
explorer 是 Windows 下的一个实用命令. 实例 打开文件浏览器 explorer # 效果等同于快捷键操作 [Win + E] 使用默认浏览器打开链接 explorer "h ...
- Model Context Protocol
MCP is an open protocol that enables AI models to securely interact with local and remote resources ...
- Electron 开发:获取当前客户端 IP
Electron 开发:获取当前客户端 IP 一.背景与需求 1. 项目背景 客户端会自启动一个服务,Web/后端服务通过 IP + port 请求以操作客户端接口 2. 初始方案与问题 2.1. 初 ...