Django中的模型類設(shè)計(jì)及展示示例詳解
django中設(shè)計(jì)數(shù)據(jù)模型類是基于ORM的對(duì)象關(guān)系映射更方便的進(jìn)行數(shù)據(jù)庫(kù)中的數(shù)據(jù)操作。
- 對(duì)象關(guān)系映射
- 把面向?qū)ο笾械念惡蛿?shù)據(jù)庫(kù)表--對(duì)應(yīng),通過(guò)操作類和對(duì)象,對(duì)數(shù)表實(shí)現(xiàn)數(shù)據(jù)操作,不需要寫sql,由ORM框架生成
- django實(shí)現(xiàn)了ORM框架,在項(xiàng)目中與數(shù)據(jù)庫(kù)之間產(chǎn)生橋梁作用
- django數(shù)據(jù)庫(kù)定義模型的步驟如下:
python manage.py makemigrations python mange.py migrate
- 在應(yīng)用models.py中編寫模型類,繼承models.Model類
- 在模型類中,定義屬性,生成對(duì)應(yīng)的數(shù)據(jù)庫(kù)表字段
- 屬性名 = models.字段類型
- 字段類型 -- 一旦修改類型就需要重新遷移
AutoField: 自動(dòng)增長(zhǎng),通常不需要指定,django自動(dòng)創(chuàng)建名為id的自動(dòng)增長(zhǎng)屬性
CharField: 字符串,必須指定的參數(shù): max_length 最大字符個(gè)數(shù)
TextFiled: 大文本字段,一般超過(guò)4000個(gè)字符
IntegerField: 整形
BooleanField: 布爾,支持Null,True
NullBooleanField: 支持Null,True,F(xiàn)alse
DateTimeField: 日期時(shí)間
FileField: 上傳文件字段
ImageField: 繼承與FileFiled,對(duì)上傳的內(nèi)容進(jìn)行校驗(yàn),確保是有效地圖片
ForeignKey: 外鍵,建立一對(duì)多關(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ù)對(duì)象的顯示信息""" return self.name

在pycharm終端中執(zhí)行數(shù)據(jù)庫(kù)建立遷移
python manage.py makemigrations
python manage.py migrate
migrations文件中會(huì)建立一個(gè).py文件
我們可以通過(guò)django自帶的admin后臺(tái)來(lái)看見我們所創(chuàng)建的數(shù)據(jù)模型類。
Aadmin
使用時(shí)先創(chuàng)建一個(gè)用戶名和密碼
在pycharm終端中輸入命令
python manage.py createsuperuser
根據(jù)提示輸入用戶名,郵箱,密碼。

并且在admin.py注冊(cè)模型類 并且顯示該有的數(shù)據(jù)列表

然后開啟django項(xiàng)目輸入 http://127.0.0.1 :8000/admin/
用戶名和密碼填寫
登陸進(jìn)去后就會(huì)看到創(chuàng)建的數(shù)據(jù)模型

點(diǎn)擊add可以添加一些數(shù)據(jù)
會(huì)有你寫的模型類

因?yàn)閯偛爬^承了SubjectAdmin類要求顯示學(xué)科的信息。

我們現(xiàn)在可以將模型數(shù)據(jù)映射視圖,展示到html頁(yè)面上。
在Views.py文件中使用Subject將數(shù)據(jù)集合拿到

在templates文件夾中創(chuàng)建一個(gè)index.html文件
使用django模板中的for循環(huán)將數(shù)據(jù)插入到html頁(yè)面中

啟動(dòng)django,打開本地網(wǎng)址

我們可以給頁(yè)面添加照片可以使得頁(yè)面更好看點(diǎn)
添加放置照片的文件夾在更目錄的同級(jí)目錄下

并且在settings中對(duì)static文件夾路徑加以說(shuō)明

在將html頁(yè)面修改
添加照片路徑

然后啟動(dòng)django點(diǎn)擊本地連接

接下來(lái)可以再加入模型數(shù)據(jù)庫(kù),點(diǎn)擊學(xué)科的時(shí)候可以展示那些老師以及老師的介紹。實(shí)現(xiàn)了數(shù)據(jù)的多對(duì)一或者一對(duì)多。
在models.py中建立老師的模型類

在admin.py中注冊(cè)老師得模型類

進(jìn)入admin后臺(tái),添加老師的一些數(shù)據(jù)

現(xiàn)在點(diǎn)擊科目,進(jìn)入到老師的詳情頁(yè),那的寫html文件和修改urls.py
再templatels文件夾中建立teachers.html文件

在書寫views.py,

然后點(diǎn)擊科目獲取老師數(shù)據(jù)



django的簡(jiǎn)單項(xiàng)目關(guān)于模型的展示設(shè)計(jì)都完成啦?。?!
總結(jié)
到此這篇關(guān)于Django中的模型類設(shè)計(jì)及展示示例詳解的文章就介紹到這了,更多相關(guān)django模型類設(shè)計(jì)及展示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在python plt圖表中文字大小調(diào)節(jié)的方法
今天小編就為大家分享一篇在python plt圖表中文字大小調(diào)節(jié)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Tensorflow加載模型實(shí)現(xiàn)圖像分類識(shí)別流程詳解
在視覺領(lǐng)域可以分為:1、圖像分類 2、語(yǔ)義分割 3、實(shí)例分割 4、目標(biāo)檢測(cè)(跟蹤) 5、關(guān)鍵點(diǎn)檢測(cè)。該篇主要講解利用Tensorflow 對(duì)圖像進(jìn)行圖像分類2022-09-09
python3實(shí)現(xiàn)點(diǎn)餐系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)點(diǎn)餐系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
python?lazypredict構(gòu)建大量基本模型簡(jiǎn)化機(jī)器學(xué)習(xí)
這篇文章主要介紹了python?lazypredict構(gòu)建大量基本模型簡(jiǎn)化機(jī)器學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python腳本實(shí)現(xiàn)12306火車票查詢系統(tǒng)
本文給大家分享我使用python3實(shí)現(xiàn)的12306火車票查詢系統(tǒng),小編分步驟給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2016-09-09
Django高并發(fā)負(fù)載均衡實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Django高并發(fā)負(fù)載均衡實(shí)現(xiàn)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Python數(shù)據(jù)分析之Excel和Text文件的讀寫操作方法

