django-xadmin主题设置

标签: django xadmin themes
25人阅读 评论(0) 收藏 举报
分类:

django-xadmin主题设置

  • apps.users.adminx.py

from xadmin import views

class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True #调用更多主题

xadmin.site.register(views.BaseAdminView, BaseSetting)

虽然设置调用更多主题为True,但是发现主题还是默认和bootstrap2
调试后发现错误位置:

block_top_navmenu

当use_bootswatch 为True的时候,就会使用httplib2去

http://bootswatch.com/api/3.json
网址获取主题菜单项。但是使用浏览器打开这个网址,http会被替换成https的。httplib2访问这个https的网址,就会报错。报错信息为:

[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure

这里使用requests库来替代httplib2

  • 1、安装requests
    pip install requests
  • 2、在./xadmin/plugins/themes.py 引入requests
    import requests

修改后代码,双星号内为新添加内容

    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//设置flag
                    if flag://判断如果true**

                        h = httplib2.Http()
                        resp, content = h.request("https://bootswatch.com/api/3.json", 'GET', '',
                            headers={"Accept": "application/json", "User-Agent": self.request.META['HTTP_USER_AGENT']})
                        if six.PY3:
                            content = content.decode()
                        watch_themes = json.loads(content)['themes']


                    **else:
                        content = requests.get("https://bootswatch.com/api/3.json")
                        if six.PY3:
                            content = content.text.decode()
                        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}))


site.register_plugin(ThemePlugin, BaseAdminView)
查看评论

Django站点管理标准库,用grappelli美化Django Admin后台管理界面

一、Django 站点管理确实方便,不用自己再开发,但是往往企业级的后台还是自己开发。感觉Django站点后台功能性和美化并不多好。这里有一篇文章【用grappelli美化Django Admin后台...
  • changemyself
  • changemyself
  • 2014-11-01 20:19:07
  • 20578

django admin界面中文

环境: python 2.7.8 django 1.6 win7 x64 在项目的settings.py里,检查: # Internationalization LANGUAGE_CODE = '...
  • fengyu09
  • fengyu09
  • 2014-12-02 13:46:37
  • 22140

用grappelli美化Django Admin后台管理界面

这几天在网上发现一个django app:grappelli,该app可以用来美化Django Admin后台管理界面, 把一向丑陋的Django Admin后台界面弄得很酷很好看. 以下有一篇别人...
  • huyoo
  • huyoo
  • 2011-11-13 14:34:08
  • 19008

如何修改xadmin的菜单设置

如何修改xadmin的菜单设置? 默认情况下xadmin提供了一套菜单的设置规则,使用SortedDict类型进行存储,  Django的官方文档上描述SortedDict的排序顺...
  • Cand6oy
  • Cand6oy
  • 2018-02-02 22:38:58
  • 137

自定义Django的admin界面

http://blog.csdn.net/robinliu2010/article/details/7649190 The Django Book:第18章 自定义Django的admin界面 ...
  • hshl1214
  • hshl1214
  • 2015-05-12 22:41:44
  • 22139

django1.8使用django-xadmin管理后台

django1.8使用django-admin管理后台 1.需要安装的包 # django-xadmin-1.8.zip  https://github.com/sshwsfc/xadmin/tree...
  • goupper1991
  • goupper1991
  • 2016-09-26 17:59:19
  • 4606

Eclipse主题设置

主题下载地址:http://www.eclipsecolorthemes.org/?q=先展示下效果图: 设置步骤: 先将Eclipse的整个背景主题定好 将下载好的配置文件导入Eclipse(主题...
  • RELY_ON_YOURSELF
  • RELY_ON_YOURSELF
  • 2017-11-29 17:00:27
  • 1491

Django-xadmin的使用

1.下载最新分支版本xadmin xadmin下载 2.解压下载的文件并拷贝到app同级目录下 3.修改setting.py文件中INSTALLED_...
  • weixin_37879830
  • weixin_37879830
  • 2017-07-13 14:35:05
  • 239

django xadmin中主题的设置 问题

在users的adminx.py 设置一个基础设置 class BaseSetting(object): enable_themes = True use_bootswatch ...
  • jiangbo721
  • jiangbo721
  • 2017-11-10 17:40:53
  • 108

django1.9+xadmin设置主题功能失败的解决方法(含xadmin的源码下载地址)

PythonWeb项目环境: 1.django1.9 2.源码安装xadmin。下载地址:https://github.com/sshwsfc/xadmin 在该环境下设置: class ...
  • zzroc001
  • zzroc001
  • 2018-02-06 00:48:49
  • 138
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 2万+
    积分: 1982
    排名: 2万+
    博客专栏
    ACM

    文章:76篇

    阅读:20054
    python

    文章:7篇

    阅读:961
    MySql

    文章:2篇

    阅读:141
    最新评论