解决xadmin下设置“use_bootswatch = True”无效的问题

环境:
python 2.7
django 1.9
xadmin采用源代码的方式引入到项目中

1.安装requests

pip install requests

2./xadmin/plugins/themes.py 引入requests

import requests

3.修改block_top_navmenu方法:

    def block_top_navmenu(self, context, nodes):

        themes = [
            {‘name‘: _(u"Default"), ‘description‘: _(u"Default bootstrap theme"), ‘css‘: self.default_theme},
            {‘name‘: _(u"Bootstrap2"), ‘description‘: _(u"Bootstrap 2.x theme"), ‘css‘: self.bootstrap2_theme},
        ]
        select_css = context.get(‘site_theme‘, self.default_theme)

        if self.user_themes:
            themes.extend(self.user_themes)

        if self.use_bootswatch:
            ex_themes = cache.get(THEME_CACHE_KEY)
            if ex_themes:
                themes.extend(json.loads(ex_themes))
            else:
                ex_themes = []
                try:
                    flag = False
                    if flag:
                        h = httplib2.Http()
                        resp, content = h.request("http://bootswatch.com/api/3.json", ‘GET‘, ‘‘,
                                                  headers={"Accept": "application/json",
                                                           "User-Agent": self.request.META[‘HTTP_USER_AGENT‘]})
                        watch_themes = json.loads(content)[‘themes‘]
                    else:
                        content = requests.get("https://bootswatch.com/api/3.json")
                        watch_themes = json.loads(content.text)[‘themes‘]

                    ex_themes.extend([
                                         {‘name‘: t[‘name‘], ‘description‘: t[‘description‘],
                                          ‘css‘: t[‘cssMin‘], ‘thumbnail‘: t[‘thumbnail‘]}
                                         for t in watch_themes])
                except Exception as e:
                    print(e)

                cache.set(THEME_CACHE_KEY, json.dumps(ex_themes), 24 * 3600)
                themes.extend(ex_themes)

        nodes.append(
            loader.render_to_string(‘xadmin/blocks/comm.top.theme.html‘, {‘themes‘: themes, ‘select_css‘: select_css}))

参考网址:https://my.oschina.net/u/2396236/blog/1083251

时间: 2024-10-01 07:26:57

解决xadmin下设置“use_bootswatch = True”无效的问题的相关文章

xadmin下设置“use_bootswatch = True”无效的解决办法

环境: python 2.7 django 1.9 xadmin采用源代码的方式引入到项目中 问题: 在xadmin使用的过程中,设置"use_bootswatch = True",企图调出主题菜单,显示更多主题.然而设置了后,发现主题还是默认和bootstrap2,深入跟踪源代码,发现/xadmin/plugins/themes.py下的block_top_navmenu方法,在use_bootswatch=True的时候,就会使用httplib2去加载http://bootswat

xadmin的主题use_bootswatch = True”无效解决方法

xadmin采用源代码的方式引入到项目中 在xadmin使用的过程中,设置"use_bootswatch = True",企图调出主题菜单,显示更多主题.然而设置了后,发现主题还是默认和bootstrap2,深入跟踪源代码,发现/xadmin/plugins/themes.py下的 block_top_navmenu 当use_bootswatch 为True的时候,就会使用httplib2去 http://bootswatch.com/api/3.json 网址获取主题菜单项.但是使

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法 当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下 当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内

解决thinkphp设置session周期无效的问题

thinkphp的session设置周期是无效的: 直接的影响就是无法保留用户的登陆状态: 用thinkphp开发的项目:关闭浏览器后用户就退出了: 即便设置了session周期也没作用: 这个bug存在很久了:但是thinkphp官网一直没处理更新: 吐槽完毕:下面来解决这个bug: 首先需要在 /Thinkphp/Common/funtion.php 公告函数的第1213行添加如下内容: 如果不是在1213行:就搜索gc_maxlifetime // 1213行原代码if(isset($na

Win8/8.1下驱动安装“数据无效”错误的有效解决方法

Windows8.1 安装完vmware 后并没有安装 vmnet1,vmnet8 这两个虚拟网卡,纠结了半天,原来是两个服务没打开. 如果你使用的是Windows8或者8.1,并且精简过系统,那么在安装驱动程序的过程中,你可能会遇到"数据无效"的错误.笔者确信所拥有的驱动程序是可以安装在Win8/Win8.1的系统中的,但是查阅了网络上关于所有安装驱动程序过程中出现"数据无效"的解决方法,都尝试无果,后来终于摸索出行之有效的解决方法--开启服务,屡试不爽. 原来,

Linux 下文件名乱码(无效的编码)的解决办法

文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码. sudo apt-get install convmv convmv 使用方法:convmv -f 源编码 -t 新编码 [选项] 文件名常用参数:-r 递归处理子文件夹–notest 真正进行操作,默认情况下是不对文件进行真实操作–list 显示所有支持的编码–unescap 可以做一下转义,比如把

解决Win8下使用net use命令磁盘映射无效的问题

该问题由UAC机制引起,可尝试如下方案: 以管理员身份打开Powershell,运行: New-ItemProperty -Path "registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLinkedConnections" -Value 1 -PropertyType "DWord" 解决Win8

IE下iframe height="100%"无效的解决方法

IE7下iframe height="100%"无效的解决方法就是css如下写法: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml&q

在Closing事件中,将e.Cancle设置成true,则Windows无法关机和重启系统的解决办法

最近在设计一个WinForm程序的时候遇到一个bug,就是From1窗体的关闭事件中设置了e.Cancle设置成true,导致系统无法关机重启,windows7 和windows xp都是这样. 我这里设计的是当用户点击窗体的叉叉,不关闭窗体,而是最小化窗体,但当系统重启的时候,发现无关关机重启了,这里的解决办法是通过判断CloseReason的枚举值,来搞清楚到底是用户自己关闭或是系统引起的窗体关闭.关键代码如下: private void Form1_FormClosing(object s