Django Django通過ORM連線資料庫

2022-06-27 19:30:19 字數 3945 閱讀 5956

前面介紹了django平台的資料互動,這些資料都是在本地存放著,修改內容或者重新啟動服務,資料就消失了,如果我們把資料存放在資料庫中,不就儲存了嗎?

說這麼多,不知道大家理解不理解,其實就是通過例項物件的方法幫助我們寫sql語句從而方便我們。(其實就是通過你寫的**,然後幫你寫sql語句)

其實我們今天所寫的django的資料庫其實就是通過orm來實現的。

django中自帶的也有資料庫(sqlite3),自帶的輕量級資料庫sqlite3,已經完全夠了,當然大家都很資料mysql資料庫,我們也可以通過django連線mysql資料庫

在檔案settings,py檔案下中找到以下配置資訊,該資訊為連線預設資料庫(sqlite3)

#

連線資料庫

databases =

}

如果想要連線mysql資料庫,我們可以進行修改成以下引數

#

配置mysql資料庫

databases =

}

資料庫已經連線成功了。但是還需要安裝mysql外掛程式mysqlclient

在檔案models.py下建立表名以及表字段

# model.py

#建立表名已經表字段

from django.db import

models

#class名代表表名,models.model固定寫法

class

user(models.model):

#username,password 表示建立欄位名,長度為32

username = models.charfield(max_length=32)

password = models.charfield(max_length=32)

開啟cmd,跳轉到專案目錄下執行以下命令,同步資料庫

#

同步資料庫

這個時候會看到專案中的migrations中自動生成了乙個檔案 0001_initial.py, 這個時候我們繼續執行命令

# 建立資料庫表

這個時候我們都已經把資料庫全部建立完成了。

這個時候會建立一些django自帶的表,如果不需要的話我們可以在sttings.py檔案中進行進行螢幕

'django.contrib.admin

', #

admin管理後台站點

'django.contrib.auth

', #

身份認證系統

'django.contrib.contenttypes

', #

內容型別框架

'django.contrib.sessions

', #

會話框架

'django.contrib.messages

', #

訊息框架

'django.contrib.staticfiles

', #

靜態檔案管理框架

'djtest

', #

專案應用

]建立好後資料庫,你會發現django專案中重新建立了乙個檔案migrations,裡面的內容就是資料庫的一些操作

注:如果一不小心刪除了migrations檔案的資料,那麼怎麼辦?

1、刪除migrations下除了__int__.py的檔案

2、重新執行同步資料庫的命令

#

同步資料庫

python manage.py makemigrations

#建立資料庫

python manage.py migrate

#

views.py

defindex(request):

if request.method == '

post':

username = request.post.get('

username')

password = request.post.get('

password')

#將資料儲存到資料庫

models.user.objects.create(username=username,password=password)

return render(request, '

index.html

', )

這個地方需要注意前面寫的html接收的內容,然後再返回給使用者瀏覽器,這裡修改了index.html檔案

>安靜部落格樂園

title

>

head

>

<

body

>

<

center

>

<

li>

歡迎您,

<

tbody

>

<

tr>

<

td>}

td>

tr>

tbody

>

li>

center

>

ul>

body

>

html

>

最後工作了,啟動django服務,進入到對應的位址,輸入使用者名稱和密碼,點選提交

提交過後,來到我們的資料庫中,進行檢視,資料是否提交(我這裡輸入多次不同的資料)

可以發現資料已經全部都存到資料庫中了。這樣就可以把提交過的資料全部都儲存在資料庫中,然而不會重啟伺服器導致資料丟失了

#

連線 postgresql

django.db.backends.postgresql

#連線 mysql

django.db.backends.mysql

#連線 sqlite

django.db.backends.sqlite3

#連線 oracle

django.db.backends.oracle

Django Django錯誤整理

1.settings cannot be imported,because environment variable django settings module is undefined.解決方法 from django.template import template,context from ...

Django Django基本命令

django admin.py startproject 專案名稱 例 django admin.py startproject myproject當前目錄下會生成myproject的工程,目錄結構如下 myproject manage.py myproject init py settings.p...

mysql 主從庫更新延遲,通過o

最近由於庫比較不穩定還在集體改版,我碰到乙個問題 主庫更新後,從庫兩秒才能拿到更新後的資料,比如贊操作點後自動在頁面html 1,但是由於讀取列表是在從庫,如果重新整理的快,會看到贊還是沒 1之前的數值。今天跟新青和李偉他倆討論,新青提供的方式很棒,特此記錄。我只需在他基礎上整合了一下列表輸出操作就...