Django 框架02: 模型与站点
2019獨角獸企業重金招聘Python工程師標準>>>
設計模型
1.創建應用
? ? 在一個項目中可以創建一到多個應用,每個應用進行一種業務處理
? ? 創建應用的命令:
2.定義模型類
? ? ①打開models.py文件,定義模型類
? ? ②引入包from django.db import models
? ? ③模型類繼承自models.Model類
? ? ④說明:不需要定義主鍵列,在生成時會自動添加,并且值為自動增長
? ? ⑤當輸出對象時,會調用對象的str方法
3.生成數據表
? ? ①激活模型:編輯settings.py文件,將應用加入到installed_apps中應用列表
? ? ②生成遷移文件:根據模型類生成sql語句
? ? ?遷移文件被生成到應用的migrations目錄
?? ?③遷移文件
? ? ?執行遷移:執行sql語句生成數據表
4.測試數據操作
? ? 進入python shell,進行簡單的模型API練習
管理站點
1.服務器
? ? ①運行如下命令可以開啟服務器
? ? ②可以不寫ip,默認端口為8000
? ? ③這是一個純python編寫的輕量級web服務器,僅在開發階段使用
? ? ④打開瀏覽器,輸入網址“127.0.0.1:8000”可以打開默認頁面
? ? ⑤如果修改文件不需要重啟服務器,如果增刪文件需要重啟服務器
? ? ⑥通過ctrl+c停止服務器
2.管理操作
? ? 站點分為“內容發布”和“公共訪問”兩部分
? ? “內容發布”的部分負責添加、修改、刪除內容,開發這些重復的功能是一件單調乏味、缺乏創造力的工作。為此,Django會根據定義的模型類完全自動地生成管理模塊
3.使用django的管理
? ? ①創建一個管理員用戶
? ? ②啟動服務器,通過“127.0.0.1:8000/admin”訪問,輸入上面創建的用戶名、密碼完成登錄
? ? ③進入管理站點,默認可以對groups、users進行管理
4.管理界面本地化
? ? ①編輯settings.py文件,設置編碼、時區?
?? ?②向admin注冊應用的模型
? ? ?? ?打開應用下admin.py文件,注冊模型
? ? 刷新管理頁面,可以對數據進行增刪改查操作
? ? 問題:如果在str方法中返回中文,在修改和添加時會報ascii的錯誤
? ? 解決:在str()方法中,將字符串末尾添加“.encode('utf-8')”
5.自定義管理頁面
? ? Django提供了admin.ModelAdmin類
? ? 通過定義ModelAdmin的子類,來定義模型在Admin界面的顯示方式
? ? ?①列表頁屬性
? ? ?? ?list_display:顯示字段,可以點擊列頭進行排序
? ? ? ? list_filter:過濾字段,過濾框會出現在右側? ?
list_filter?=?['btitle']? ? ? ? search_fields:搜索字段,搜索框會出現在上側
search_fields?=?['btitle']? ? ? ? list_per_page:分頁,分頁框會出現在下側? ?
list_per_page?=?10? ? ?②添加、修改頁屬性
? ? ? ? ?fields:屬性的先后順序
? ? ?③fieldsets:屬性分組
fieldsets?=?[('basic',{'fields':?['btitle']}),('more',?{'fields':?['bpub_date']}), ]轉載于:https://my.oschina.net/zhenfei/blog/1929548
總結
以上是生活随笔為你收集整理的Django 框架02: 模型与站点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ 关键词解释
- 下一篇: [BZOJ2152]聪聪可可(点分治)