当使用下面方式引入xadmin样式的时候发现并没有效果:
# file:adminx.py
xadmin
xadmin views
BaseSetting():
enable_themes = use_bootswatch = Some Codes...
xadmin.site.register(views.CommAdminViewGlobalSettings)
# file:__init__.py
default_app_config = "users.apps.UsersConfig"
错误原因:当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.在xadmin的源码目录下修改xadmin\plugins\themes.py
:
#coding:utf-8
from __future__ import print_function
import httplib2
from django.template import loader
from django.core.cache import cache
from django.utils import six
from django.utils.translation import ugettext as _
from xadmin.sites import site
from xadmin.models import UserSettings
from xadmin.views import BaseAdminPlugin, BaseAdminView
from xadmin.util import static, json
import six
if six.PY2:
import urllib
else:
import urllib.parse
import requests
THEME_CACHE_KEY = 'xadmin_themes'
class ThemePlugin(BaseAdminPlugin):
enable_themes = False
# {'name': 'Blank Theme', 'description&#