django --xadmin设置主题,无法正常显示

我们配置主题

在user的xadmin中加入下面的代码

from xadmin import views
class BaseSetting():
    #使用主题功能, 默认为False
    enable_themes = True
#这个是扩展外部主题
    use_bootswatch =  True
xadmin.site.register(views.BaseAdminView, BaseSetting)

这时候我们刷新页面就能够出现了

如果没有成功,接着往下看(我的没有成功)

设置获取外部主题,就是从一个链接里去下载主题

use_bootswatch =  True

这里,根据这边博客说的(https://blog.csdn.net/sxc1414749109/article/details/79964501)是设置use_bootswatch = True 时会使用httplib2,,具体打开这个博客,

我根据这个博客改了以后不能使用

打开,xadmin的源码,在./xadmin/plugins/themes.py

于是自己看了一下源码,我觉得可以直接使用requests,而不需要其他的,

被注释掉的部分是源码,上面是我经过修改后的,可以直接去复制,然后找到对应位置粘贴

我在这个修改下才成功的。

        if self.use_bootswatch:
            #修改部分
            ex_themes = []
            try:
                headers = {"Accept": "application/json", "User-Agent": self.request.META['HTTP_USER_AGENT']}
                content = requests.get("https://bootswatch.com/api/3.json", headers=headers)
                if six.PY3:
                    content = content.content.decode()
                watch_themes = json.loads(content)['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)
            #修改结束

            #ex_themes = cache.get(THEME_CACHE_KEY)
            # if ex_themes:
            #     themes.extend(json.loads(ex_themes))
            # else:
            #     ex_themes = []
            #     try:
            #         headers = {"Accept": "application/json", "User-Agent": self.request.META['HTTP_USER_AGENT']}
            #         content = requests.get("https://bootswatch.com/api/3.json", headers=headers)
            #         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)

如果文章帮到了你,不妨帮我扫码关注一下,谢谢

发布了37 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42236288/article/details/101935106