Python Django基礎教程(三)(模型models)

HuangZhang_123發表於2017-04-21

Django版本:1.11
作業系統:Windows
python:3.5
歡迎加入學習交流QQ群:657341423


模型的使用:
Django的模型就是說資料庫的使用,通常最笨最基礎的用法都是用語法連結資料庫,進行sql語句操作,然後關閉資料庫。但是現在的web框架都是通過物件例項化進行資料庫訪問的。也就是說,講資料庫看成一個物件,然後直接對這個物件進行操作就可以了。這樣可以減少不斷重複連結,關閉資料庫等重複操作。

如果你使用了Django的資料庫層(模型),你必須建立一個Django app。 模型必須存放在apps中
1、新建app,如下所示:
這裡寫圖片描述
2、在專案中設定setting.py檔案。這裡以sqlite3為例。如果要設定其他資料庫,可自行網上找資料。
這裡寫圖片描述
完整的引數:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'csvt',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'',
        'PORT':'',
    }
}

要注意的是無論選擇使用哪個資料庫伺服器,都必須下載和安裝對應的資料庫介面卡
然後找到 INSTALLED_APPS 設定。 INSTALLED_APPS 告訴 Django 專案哪些 app 處於啟用狀態
這裡寫圖片描述

3、開啟由polls 命令建立的models.py 並輸入下面的內容
這裡寫圖片描述
每個class繼承django.db.models.Model。圖上的類Publisher就是代表一個資料庫表。
說明:models.CharField、models.URLField、models.EmailField、models.DateField、models.ForeignKey、models.ManyToManyField
每個模型相當於單個資料庫表,每個屬性也是這個表中的一個欄位。 屬性名就是欄位名,它的型別(例如 CharField )相當於資料庫的欄位型別 (例如 varchar )
__str__ 用於進行任何處理來返回對一個物件的字串表示

    def __str__(self):
        return (self.name)

4、建立資料庫表
一、驗證模型的有效性
在專案的路徑下,輸入python manage.py check
這裡寫圖片描述

二、模型確認沒問題了,執行下面的命令來生成 CREATE TABLE 語句:

python manage.py makemigrations polls
以上只是在專案生成相關py檔案,還沒有提交到資料庫

這裡寫圖片描述

三、提交SQL語句至資料庫的方法:python manage.py migrate
開啟資料庫驗證:
這裡寫圖片描述


完成資料模型搭建,接下來就是實際使用:
我們找到views.py檔案,程式碼如下:
這裡寫圖片描述
為何getname的值為name,這個和models.py有關,因為models.py的def __str__返回的是name。如果需要返回其他值,可以自行修改。

執行前資料庫內容:
這裡寫圖片描述

瀏覽器執行http://127.0.0.1:8000/,即hello的url
這裡寫圖片描述

執行結果:
這裡寫圖片描述
這裡寫圖片描述
新增修改成功。
專案程式碼可下載

相關文章