1. 程式人生 > >Python Django基礎教程(三)(模型models)

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

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
這裡寫圖片描述

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

相關推薦

Python Django基礎教程模型models

Django版本:1.11 作業系統:Windows python:3.5 歡迎加入學習交流QQ群:657341423 模型的使用: Django的模型就是說資料庫的使用,通常最笨最基礎的用法都是用語法連結資料庫,進行sql語句操作,然後關閉資料庫。但是現在

Python Django基礎教程模板templatetags

Django版本:1.11 作業系統:Windows 歡迎加入學習交流QQ群:657341423 模板的使用: 模板是一個文字,用於分離文件的表現形式和內容。 模板定義了佔位符以及各種用於規範文件該如何顯示的各部分基本邏輯(模板標籤)。 模板通常用於產生HT

python基礎教程版》高清版PDF免費下載資源分享

Python基礎教程 第3版Python簡明教程書籍 Python程式設計從入門到實踐 靈程式設計叢書 《python基礎教程第三版》高清版PDF免費下載 《python基礎教程第三版》高清版PDF免費下載 下載地址:網盤下載 編輯推薦 久負盛名的Python入門經典 中文版累

Solr基礎教程之solrconfig.xml

配置文件 multi listener 了無 files content esc lte 存儲 前面介紹過schema.xml的一些配置信息,本章介紹solrconfig.xml的配置,以及怎樣安裝smartcn分詞器和IK分詞器,並介紹主要的查詢語法。

python教程系列.1、模組概念

模組:本質就是一個.py檔案 分為三部分:內建模組、第三方模組,自定義模組 模組: 頂層檔案 python模組 python模組可以將程式碼量較大的程式分割成多個有組織的、彼此獨立但又能互相互動的程式碼片段,這些自我包含的有組織的程式碼段就是模組,模組在物理形式上表現

Python基礎入門之---for迴圈+列表

Python的for迴圈與C、C++等語言的for迴圈的結構還是有很大的差別的,不過還是很容易上手的,Python的列表類似於C語言中的陣列,但是相比陣列的功能更加強大,玩笑話是說打了激素中的陣列。 For迴圈 (1)For迴圈的語法結構: For

python學習之路——第作業篇第一題

image 操作 啟動程序 代碼 color 鎖定文件 文件 文件內容 數據 作業一:編寫登錄接口1.輸入用戶名密碼2.認證成功後顯示歡迎信息3.輸錯三次後鎖定。 所需知識點 文件基本讀寫操作,循環,列表,字典 上面的作業題是在學習完數據類型和簡單的文件操作之後布置的,

C# WPF 基礎教程 視訊學習筆記

1.[STAThread()] 代表單執行緒 2.using語句允許程式設計師指定使用資源的物件應當何時釋放資源 3.Border 一般用於裝載面板   Padding 邊框和內部內容中間新增空間   CornerRadius可以使邊框具有一個圓角     4.DockP

java基礎教程:集合概述27

今天要講的內容是集合。集合是我們程式設計時非常頻繁的物件,必須花費大量時間學習。 我們還是從是什麼和為什麼兩個角度進行引入。 集合是什麼? 集合是儲存和操作一組物件的物件。類似一個池子,可以儲存操作一組元素。 為什麼要有集合? 從集合是什麼來看,集合和我們之前提到的陣

Python 爬蟲基礎Requests庫的使用二十一

(一)人性化的Requests庫 在Python爬蟲開發中最為常用的庫就是使用Requests實現HTTP請求,因為Requests實現HTTP請求簡單、操作更為人性化。 (二)get請求的基本用法 def get(url, params=N

python-進階教程-多個字典對映的合併

0.摘要 當我們處理多個字典(或稱為對映,因為字典是Python中唯一的對映結構),可以通過將多個字典合併為一個字典的方式實現批量處理。   1.ChainMap類 a = {'x': 1, 'z': 3 } b = {'y':

python django打造自己的喜馬拉雅 3主頁前端+資料庫

<style> body { min-height: 100vh; background-image: url("/static/images/intro-2.jpg"); background-size: cover; }

Python 爬蟲基礎Selenium庫的使用二十二01

(一)Selenium基礎 1.Selenium簡介 Selenium是一個用於測試網站的自動化測試工具,支援各種瀏覽器包括Chrome、Firefox、Safari等主流介面瀏覽器,同時也支援phantomJS無介面瀏覽器。 2.支援多種作業系統 如Wind

十八、基礎教程-鑽取功能drilldown

鑽取是改變展現資料維度的層次,變換分析的粒度。它包括向上鑽取(drillup)和向下鑽取(drilldown)。 Highcharts 在 3.0.8 開始提供內建的鑽取功能功能,使用鑽取功能需要額外的

Python redis 基礎知識學習 Sorted-sets

概述: Sorted-Sets和Sets型別極為相似,它們都是字串的集合,都不允許重複的成員出現在一個Set中。它們之間的主要差別是Sorted- Sets中的每一個成員都會有一個分數(score)與之關聯,Redis正是通過分數來為集合中的成員進行從小到大的

IP通信基礎學習第

檢驗 ip地址 機制 得到 選項 p地址 實現 消息 ip層 TTL的最值是255。 數據部分不參與檢驗和的計算。 接收端的結果若為0,則保留;否則,會丟棄該數據報。 IP數據報選項字段是可選的,主要用於網絡測試和調試。 IP輔助協議ICMP的消息類型有錯誤消息跟詢

POJ3977:Subset——題解分+折半搜索

枚舉 cstring 不為 tdi bsp inline poj 折半 %d http://poj.org/problem?id=3977 題目大意:有一堆數,取出一些數,記他們和的絕對值為w,取的個數為n,求在w最小的情況下,n最小,並輸出w,n。 —&m

小作業用戶登陸次機會重試

valid 關閉 color body 密碼 put int 程序關閉 false 用戶登陸(三次機會重試) #print("請輸入賬號:%s\n 請輸入密碼:%s"%(inp_id,inp_pwd)) a = "2260683aaa" #這裏簡單了內置了一下用戶

#10013 曲線 分法模板題

ase ext namespace lin str scrip sel nts otto 【題目描述】     明明做作業的時候遇到了 n 個二次函數 S?i??(x)=ax?2??+bx+c,他突發奇想設計了一個新的函數 F(x)=max{Si(x)},i=1…n。 明

python基礎教程版》高清版PDF免費下載

包含 linda bson 升級 編輯 清晰 閱讀 ann 處理 Python基礎教程 第3版Python簡明教程書籍 Python編程從入門到實踐 靈程序設計叢書 下載地址:網盤下載 編輯推薦 久負盛名的Python入門經典 中文版累