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后,出现服务异常解决方案的更多相关文章

  1. Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  2. 项目集成seata和mybatis-plus冲突问题解决方案:(分页插件失效, 自动填充失效, 自己注入的id生成器失效 找不到mapper文件解决方案)

    项目集成seata和mybatis-plus,seata与mybatis-plus冲突问题(所有插件失效,自动填充失效,找不到mapper文件解决方案) 自动填充代码: package com.fro ...

  3. django项目部署服务器后无法发送邮箱 错误信息:Connection unexpectedly closed

    使用配置: python 3.7 + django 2.2.1    发送邮件模块 :  from django.core.mail import send_mail 服务器:Centos7 阿里云轻 ...

  4. Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  5. Taurus.MVC 微服务框架 入门开发教程:项目集成:3、客户端:其它编程语言项目集成:Java集成应用中心。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  6. Taurus.MVC 微服务框架 入门开发教程:项目集成:6、微服务间的调用方式:Rpc.StartTaskAsync。

    系统目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  7. Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  8. Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  9. Django1.9开发博客(14)- 集成Xadmin

    xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性: 兼容 Django Admin 使用 B ...

  10. 学以致用三十-----pycharm创建django项目忘记添加app

    记忆力有时候真的不是很好.因此有些操作步骤还是记录下来好了. pycharm版本-----2018.2.4 创建django项目 file-----newproject----- 创建的时候,appl ...

随机推荐

  1. Windows 提权-内核利用_2

    本文通过 Google 翻译 Kernel Exploits Part 2 – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校 ...

  2. mac强制关闭程序

    使用快捷键:Command+Option+Esc 来打开"强制退出应用程序"的窗口,然后选中你需要退出的程序,再点右下方的"强制退出"即可.

  3. jupyterhub nginx proxy pass----ipv6转ipv4实现内网穿透

    jupyterhub 很多人应该已经对jupyter和notebook已经有所了解了.如果是多人共享服务器的话,就需要用到jupyter的多用户版本jupyterhub.jupyterhub架构如图所 ...

  4. emlog pro 文章编辑器(editor.md)的快捷键

    这里是一张图片,上面显示目前 emlog pro 编辑器所有**有效**的快捷键 (注意,是有效的快捷键,与 editor.md 官方公布的有出入,有些在系统是不可用的),对于长期使用emlog写作的 ...

  5. BUUCTF---basic RSA

    题目 给出一个RSA加密的密文,阐述了RSA,主要就是代码实现解密 代码 点击查看代码 import gmpy2 from Crypto.Util.number import * from binas ...

  6. Linux下时区/系统时间/硬件时间的设置

    涨姿势,顺带笔记,留爪. 先简述下时区/系统时间/硬件时间的3个主要命令吧 tzselect tzselect命令主要针对时区设置和查看 tz=timezone的缩写,直译=时区 date date命 ...

  7. C#多线程编程(二)线程池与TPL

    一.直接使用线程的问题 每次都要创建Thread对象,并向操作系统申请创建一个线程,这是需要耗费CPU时间和内存资源的. 无法直接获取线程函数返回值 无法直接捕捉线程函数内发生的异常 使用线程池可以解 ...

  8. 基于MCP实现text2sql

    目的:基于MCP实现text2sql能力 参考:https://blog.csdn.net/hacker_Lees/article/details/146426392 服务器 选用开源的MySQL M ...

  9. MySQL 的索引下推是什么?

    MySQL 的索引下推是什么? 索引下推(Index Condition Pushdown, ICP)是 MySQL 优化器在 InnoDB 存储引擎中引入的一种查询优化技术,从 MySQL 5.6 ...

  10. Java 多例设计模式

    /** * 多例设计模式:可以根据输入的参数不同返回不同的实例化对象 * 1.构造私有化 * 2.输入的参数不同 * 2017-09-11 * @author Junwei Zhu * */ clas ...