Python Django基礎教程(四)(admin站點管理)
本人新書《玩轉Python網路爬蟲》,可在天貓、京東等商城搜尋查閱或通過右側圖書連結購買,專案深入淺出,適合爬蟲初學者或者是已經有一些網路爬蟲編寫經驗,但希望更加全面、深入理解Python爬蟲的開發人員。
Django版本:1.11
作業系統:Windows
Python:3.5
歡迎加入學習交流QQ群:657341423
Django站點管理(admin)
專案架構
構建Django站點
站點管理講得通俗一點,就是我們可以通過web方式,直接管理整個網站的資料,主要體現在管理資料庫資料。
畢竟一個網站的管理人員不會直接通過資料庫去管理的,而且管理人員基本上都不會是開發人員。所以這個對於非開發人員來說,是更好維護這個網站執行和管理。
基本上,Django已有一套admin的站點管理工具。我們直接配置一下即可使用。
設定:admin的url地址。
設定setting.py檔案
其中’django.middleware.locale.LocaleMiddleware’是自行加入的,這個是將站點顯示中文。必需在’django.contrib.sessions.middleware.SessionMiddleware’後面。
其餘的基本上在新建專案的時候已有的。
再看一下之前app裡面的models檔案,這裡為了下面的更好體現,比上一章的models做了稍微的修改。
檢視一下資料庫,這裡我將上一章的資料表清空了,這裡重新新建過
這裡包含了設定欄位可選這個功能,就是models裡面的blank=True和null = True,當你新增blank=True以後,標籤不再是粗體了,這時候說明這欄位可以為空的。
如果你想允許一個日期型(DateField、TimeField、DateTimeField)或數字型(IntegerField、DecimalField、FloatField)欄位為空,你需要使用null=True 和 blank=True。
其餘的直接用blank=True即可
新建資料表
執行伺服器,開啟http://127.0.0.1:8000/admin/
發現需要登入才能進入管理。那麼我們需要建立帳號密碼。新開啟一個cmd,輸入
可以看到,輸入使用者名稱,郵箱,密碼(在輸入密碼的時候,是看不到任何顯示的),回車完成。
然後在網頁上輸入剛才的帳號密碼,登入
我們發現,這裡只有一個‘認證和授權’的管理,這個是建立這個站點其他管理人員的帳號和許可權。
這樣就構建了一個站點管理的
在站點中加入其他模型。
我們在app的polls中admin.py中輸入
檢視web
發覺這是一個最簡單的管理介面。當我點選‘增加 PUBLISHER’的時候,輸入資訊後儲存
看到這裡顯示2條資料,我們直接檢視資料庫
發現可以通過站點管理直接對資料進行管理和維護。
但很多時候,我們還需要一些自定義的功能進行維護。比如web中只是顯示了”測試-adfadf”,”luna-佛山”,如果我需要更多資料,而且也需要排序呢?
實現方式:
我們可以在app的polls中admin.py新建一個子類,繼承admin.ModelAdmin
檢視web
總結:
上圖所示,一共有三組,分別是DJAPPTEST,POLLS,認證和授權,分別代表三個app。其中認證和授權是django自帶的。其餘是使用者自定義的。每個app裡面的Autors,Publishers等分別代表各自models.py的class,也就是資料庫裡面的表。
每個表裡面的操作(增刪改查)等於資料庫的操作以及裡面的顯示方式在各自app裡面admin.py裡自定義class進行,每個class對應models.py的class。
最後一點,切勿忘記整個專案裡面的urls.py和settings.py檔案設定。
相關文章
- Python基礎知識之Django框架優缺點!PythonDjango框架
- 《Django基礎教程》讀後感Django
- Django基礎教程之介紹Django
- Django基礎教程之工程搭建Django
- 一、Python複習教程(重點)- 基礎Python
- Python教程分享之Python基礎知識點梳理Python
- Django基礎教程之初體驗Django
- Python基礎教程Python
- Python培訓教程之Python基礎知識點梳理Python
- Django基礎之四(日誌)【待續】Django
- Python基礎教程.18214570Python
- Python Numpy基礎教程Python
- python基礎教程|菜鳥教程Python
- Python基礎面試題30問!Python基礎教程Python面試題
- Django基礎教程之配置檔案詳解Django
- Django基礎教程之請求與相應Django
- Django基礎Django
- Laravel-admin-init 管理後臺基礎架構Laravel架構
- 【Python基礎知識】Django框架簡介PythonDjango框架
- 【莫煩】python基礎教程Python
- python-基礎教程-pprintPython
- Python基礎之四:Python3 基礎資料型別Python資料型別
- lua基礎教程(轉其他網站)網站
- Django admin元件Django元件
- python 基礎之物件管理Python物件
- python django整理(三)頁面基礎(仿BBS)PythonDjango
- Gurobi基礎教程(Python版)-系列教程2Python
- django基礎(一)Django
- Django基礎流程Django
- django 基礎指令Django
- Gridsome 生成靜態站點基礎
- (Python基礎教程之七)Python字串操作Python字串
- Django基礎四之測試環境和ORM查詢DjangoORM
- Django Admin後臺管理:高效開發與實踐Django
- Django(66)admin後臺管理註冊使用者Django
- Python基礎知識點梳理Python
- Django-基礎-1Django
- 01.Django-基礎Django
- Python全棧開發-Python基礎教程-01Python全棧