我们配置主题
在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)
如果文章帮到了你,不妨帮我扫码关注一下,谢谢