Django系列 客製化
這篇文章中會提到一些簡單的客製化內容
比如我們在後台管理介面中,想看到什麼
或是不想看到什麼。
這一篇應該是Django教學筆記的最後一篇
除非我突然去把一年前的作業翻出來再看一次
不然我研討會的程式還沒寫完
已經要開天窗了
客製化設計
修改css
在polls底下建立一個名為static的資料夾,在static下再建一個polls的資料夾,接著創建style.css
index.html中引入css
效果
修改admin介面的外觀與顯示內容
修改
admin.py
之前修改之後
原本的Choice選項若需要增加需要透過FK-Question來與問題連結方可新增
修改之後在Question裡面同時可新增Choice(inlines)
但是如果Choice有很多欄位的話會使得易讀性下降,因此我們只需修改ChoiceInline就可以讓畫面變成下圖那樣
預設Django的List頁面只顯示出了question_text
在
admin.py
裡用list_display列出想要顯示出來的欄位Django admin內建的排序無法對布林值排序,因此我們在
model.py
裡對Question進行修改,當我們點選Published recently?的欄位名稱進行排序時,他是依照pub_date的內容進行排序Was_published_recently.boolean
設為False在
admin.py
的QuestionAdmin裡加上篩選器加上Search Field,功能就跟SQL中查詢的LIKE功能一樣
search_fields = ['question_text']
這個屬於管理後台的部分當然不能使用者僅靠輸入網址就進入
因此我們在polls/template/
下再創建一個admin的資料夾,並新增一個base_site.html
的檔案最後
127.0.0.1:8000/admin
進入的頁面就不會直接是後台
另外因應老師的作業要求,需要有查詢功能
原本應該是要對資料庫進行SELECT之類的搜索
但在Django中有很強的全文檢索工具Haystack
所以當初就稍微的小小偷懶了一下,用了這份工具
有興趣的話大家也可以參考。