django1.9+xadmin設定主題功能失敗的解決方法(含xadmin的原始碼下載地址)
PythonWeb專案環境:
1.django1.9
2.原始碼安裝xadmin。下載地址:https://github.com/sshwsfc/xadmin
在該環境下設定:
class BaseSetting(object):
#設定主題功能
enable_themes = True
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://bootswatch.com/api/3.json
網址獲取主題選單項。但是使用瀏覽器開啟這個網址,http會被替換成https的。httplib2訪問這個https的網址,就會報錯。報錯資訊為:
[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure
但是這個報錯資訊,不知道為嘛,沒顯示在後臺...
httplib2訪問這個網址,我沒試驗成功,於是我使用requests庫來替代httplib2.
1.安裝requests
pip install requests
2./xadmin/plugins/themes.py 引入requests
import requests
3.修改block_top_navmenu方法:
defblock_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#假如為True使用原來的程式碼,假如為Flase,使用requests庫來訪問
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']})
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}))
該解決方法的原文連結:https://my.oschina.net/u/2396236/blog/1083251
相關推薦
django1.9+xadmin設定主題功能失敗的解決方法(含xadmin的原始碼下載地址)
PythonWeb專案環境: 1.django1.9 2.原始碼安裝xadmin。下載地址:https://github.com/sshwsfc/xadmin 在該環境下設定: class BaseSetting(object): #設定主題功能 enab
Android 使用shareSDK進行第三方登入失敗解決方法(微信,微博,qq)
這幾天在搞第三方登入,由於ios版本的要早於android版,所以各大平臺上的賬號都是註冊稽核好的。 登入到平臺,新增android版本,加入shareSDK,原本想著很輕鬆,誰知道一測試全部失敗,都不能登入。 驗證了新增流程,驗證了各大平臺的key 都沒有問題。 於是去
Windows10安裝SQL server 2016/2014 失敗解決方法( 錯誤程式碼: 0x851A0019)
最近想學資料庫,但是在安裝SQL2014時總是失敗,原因是 ( 錯誤程式碼: 0x851A0019)找不到資料庫引擎啟動控制代碼!網上找了很多解決方法都無效。我以為是應為Win10系統的原因,就裝了SQL2016但是依然因同樣的原因而失敗,直到我看到這個部落格:http
Anaconda安裝三方包失敗解決方法(比如seq2seq,jieba等第三方包)
Anaconda“Anaconda Prompt”指令conda 只能安裝python的官方包,而如同jieba,itchat等第三方包要使用pip去安裝。 Anconda安裝指令順序: 1. 首先採用指令:conda insta
不能開啟到主機的連線,在埠1521:連線失敗的解決方法(修改遠端桌面連線埠)
1、修改遠端桌面連線埠 遠端桌面終端服務預設埠為“3389”,為防止他人進行惡意連線,就需要對預設埠進行更改。對此可開啟登錄檔編輯器,依次展開“HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Terminal S
頁面切換語言的解決方法(偏向小站,靜態頁面)
首先在html結構中,把需要轉換的結構都加上類名,最好加在含有 文字的最近的父級上,因為我們要利用文字節點來替換。 然後構造出類似json這種感覺的資料,方便替換操作。還有宣告一個變數flag,記錄當前使用的什麼語言。 var flag = 'cn'; var lan
JUnit除錯時出現錯誤 Failed to load ApplicationContext 的解決方法(不一定適合所有人)
在我寫一個小型的ssm框架的系統是,除錯執行出現如下結果: 九月 01, 2017 3:56:28 下午 org.springframework.test.context.support.DefaultTestContextBootstrapper getDefaultTe
【Redhat7.0】yum makecache報錯的解決方法(巨坑!!!)
本來是想更換yum源,然後就刪除了linux中 /etc/yum.repos.d除CentOS-Base.repo檔案以外的所有檔案 首先,根據http://mirrors.163.com/.help/centos.html指示備份 mv /etc/
百度ueditor圖片上傳到OSS問題解決(付下載原始碼下載地址)
網路上面的例子有很多也比較雜:富文字編輯器基本都可以上傳圖片到阿里雲OSS伺服器上。用ueditor 點選單張上傳我大永州的早晨,1.這個時候看debug圖片是儲存在本地路徑下面的這樣存一重新整理就沒了,我們要存到oss伺服器上面2.十分關鍵的一步regex這一步匹配本地目錄
Ubuntn系統忘記密碼的解決方法(虛擬機器下同樣處理)
不知道你有沒有遇到過忘記了ubuntn系統密碼的情況,反正我都了,一段時間沒用就很容易忘記密碼的,此時無奈只能修改密碼了!下面分享一個簡單實用的方法: 版本號為: (我用的是V-BOX虛擬機器安裝的ubuntn作業系統) 1、重啟ubuntu系統,開機時長按shift按鍵進入GRUB選單,選擇第二個
VS2013開啟改變路徑之後的解決方案(含opencv以及屬性表)
最近遇到這樣的一個問題,我將一個C++解決方案(用到opencv庫,並添加了屬性表)的整個資料夾複製到另外一個路徑下面,在用VS2013開啟.sln的時候遇到了一些問題。 下面是具體的情況: 在遇到這個問題的時候,我先是寫了一個最簡單的程式進行測試: 1、對於最最普通的情
有關OJ中PE的一些解決方法(持續更新。。。)
大家在打OJ時應該嚐嚐遇到這樣的問題:自己的程式輸入輸出明明都是對的,可是就是不能通過,有的是WA,大多數都是PE。 PE也就是Presentation Error,輸出的格式有問題,一般都是由於輸出中間有些空格或者空行被我們忽視了造成的。還有一些WA在自己環境下命令列輸入
Linux使用PAM鎖定多次登陸失敗的使用者(含重置錯誤次數)
修改如下檔案: /etc/pam.d/sshd (遠端ssh) /etc/pam.d/login (終端) 在第一行下即#%PAM-1.0的下面新增: auth required pam_tally2.so deny=3 unlock_
MySQL之——MySQL遠端連線丟失問題解決方法(Lost connection to MySQL server)
遠端連線mysql是總是提示: Lost connection to MySQL server at ‘reading initial communication packet', system error: 0很明顯這是連線初始化階段就丟失了連線的錯誤。 google
WIN8下VC6單步調報錯解決方法((OLE32.DLL): 0xC0000005: Access Violation)
win8下安裝vc6之後單步除錯提示 First-chance exception in 程式名.exe (OLE32.DLL): 0xC0000005: Access Violation 做如下設定即可解決: 1、選單Tools->Options中的Debug,Di
listView拓展的時候出現的拓展頁面顯示不全解決方法(只顯示一條資料)
自定義listView ,重寫onMeasure 方法 @Override protected void onMeasure(int widthMeasureSpec, int heightMeas
Win10 計劃任務失敗以及PIN碼設定登入失敗解決方法
背景 我在電腦上一直有設定一些計劃任務,用途包括開機時自動登入校園網,定時關機等。一直執行的好好的。中途去參加數模,把電腦給我女朋友用了。然後就悲劇了。只想立刻知道怎麼解決的,直接翻到最後面的問題解決就可以了。 問題描述 設定好的計劃任務全部不執行了 登入介面
百度編輯器在服務器置頂路徑 解決上傳圖片創建目錄失敗的方法(Thinkphp)
插入 borde images tor true ges border name 線上 1、設置文件夾權限2、修改/* 前後端通信相關的配置,註釋只允許使用多行方式 */{ /* 上傳圖片配置項 */ "imageActionName": "uploadimag
Ubuntu使用SSH共享失敗解決方法
1.5 3.1 inux -1 hab 動態ip 通過 安裝 9.png VMware上Ubuntu使用SSH共享失敗,出現以下錯誤: The host‘192.168.59.128‘is unreachable, the host may be down,or there
ORA-12638: 身份證明檢索失敗 解決方法
nav ref fig tle mage 連接 man 技術分享 rac 用PL/SQL或Navicat連接本地或遠程Oracle數據庫的時候報錯:ORA-12638: 身份證明檢索失敗 解決方法: 開始 -> 所有程序 -> Oracle - Oracle_