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