Django中的模型類設計及展示示例詳解
django中設計數(shù)據(jù)模型類是基于ORM的對象關(guān)系映射更方便的進行數(shù)據(jù)庫中的數(shù)據(jù)操作。
- 對象關(guān)系映射
- 把面向?qū)ο笾械念惡蛿?shù)據(jù)庫表--對應,通過操作類和對象,對數(shù)表實現(xiàn)數(shù)據(jù)操作,不需要寫sql,由ORM框架生成
- django實現(xiàn)了ORM框架,在項目中與數(shù)據(jù)庫之間產(chǎn)生橋梁作用
- django數(shù)據(jù)庫定義模型的步驟如下:
python manage.py makemigrations python mange.py migrate
- 在應用models.py中編寫模型類,繼承models.Model類
- 在模型類中,定義屬性,生成對應的數(shù)據(jù)庫表字段
- 屬性名 = models.字段類型
- 字段類型 -- 一旦修改類型就需要重新遷移
AutoField: 自動增長,通常不需要指定,django自動創(chuàng)建名為id的自動增長屬性
CharField: 字符串,必須指定的參數(shù): max_length 最大字符個數(shù)
TextFiled: 大文本字段,一般超過4000個字符
IntegerField: 整形
BooleanField: 布爾,支持Null,True
NullBooleanField: 支持Null,True,F(xiàn)alse
DateTimeField: 日期時間
FileField: 上傳文件字段
ImageField: 繼承與FileFiled,對上傳的內(nèi)容進行校驗,確保是有效地圖片
ForeignKey: 外鍵,建立一對多關(guān)系
from django.db import models # Create your models here. class Subject(models.Model): """學科模型類""" nu = models.AutoField(primary_key=True) name = models.CharField(max_length=20,verbose_name = '學科名稱') intro = models.CharField(max_length=1000,verbose_name = '學科介紹') class Meta: db_table = 'tb_subject' verbose_name = '學科' verbose_name_plural = verbose_name def __str__(self): """定義數(shù)據(jù)對象的顯示信息""" return self.name
在pycharm終端中執(zhí)行數(shù)據(jù)庫建立遷移
python manage.py makemigrations
python manage.py migrate
migrations文件中會建立一個.py文件
我們可以通過django自帶的admin后臺來看見我們所創(chuàng)建的數(shù)據(jù)模型類。
Aadmin
使用時先創(chuàng)建一個用戶名和密碼
在pycharm終端中輸入命令
python manage.py createsuperuser
根據(jù)提示輸入用戶名,郵箱,密碼。
并且在admin.py注冊模型類 并且顯示該有的數(shù)據(jù)列表
然后開啟django項目輸入 http://127.0.0.1 :8000/admin/
用戶名和密碼填寫
登陸進去后就會看到創(chuàng)建的數(shù)據(jù)模型
點擊add可以添加一些數(shù)據(jù)
會有你寫的模型類
因為剛才繼承了SubjectAdmin類要求顯示學科的信息。
我們現(xiàn)在可以將模型數(shù)據(jù)映射視圖,展示到html頁面上。
在Views.py文件中使用Subject將數(shù)據(jù)集合拿到
在templates文件夾中創(chuàng)建一個index.html文件
使用django模板中的for循環(huán)將數(shù)據(jù)插入到html頁面中
啟動django,打開本地網(wǎng)址
我們可以給頁面添加照片可以使得頁面更好看點
添加放置照片的文件夾在更目錄的同級目錄下
并且在settings中對static文件夾路徑加以說明
在將html頁面修改
添加照片路徑
然后啟動django點擊本地連接
接下來可以再加入模型數(shù)據(jù)庫,點擊學科的時候可以展示那些老師以及老師的介紹。實現(xiàn)了數(shù)據(jù)的多對一或者一對多。
在models.py中建立老師的模型類
在admin.py中注冊老師得模型類
進入admin后臺,添加老師的一些數(shù)據(jù)
現(xiàn)在點擊科目,進入到老師的詳情頁,那的寫html文件和修改urls.py
再templatels文件夾中建立teachers.html文件
在書寫views.py,
然后點擊科目獲取老師數(shù)據(jù)
django的簡單項目關(guān)于模型的展示設計都完成啦!??!
總結(jié)
到此這篇關(guān)于Django中的模型類設計及展示示例詳解的文章就介紹到這了,更多相關(guān)django模型類設計及展示內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于初始種子自動選取的區(qū)域生長實例(python+opencv)
今天小編就為大家分享一篇關(guān)于初始種子自動選取的區(qū)域生長實例(python+opencv),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python for循環(huán)如何實現(xiàn)控制步長
這篇文章主要介紹了python for循環(huán)如何實現(xiàn)控制步長,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05在IPython中進行Python程序執(zhí)行時間的測量方法
今天小編就為大家分享一篇在IPython中進行Python程序執(zhí)行時間的測量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11python從內(nèi)存地址上加載python對象過程詳解
這篇文章主要介紹了python從內(nèi)存地址上加載pythn對象過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01