Python之web开发(三):python使用django框架搭建网站之SQLserver数据库连接
先簡單跟大家復(fù)習(xí)一下Django項(xiàng)目之前的內(nèi)容:
step1:建立一個(gè)Django項(xiàng)目的工程(使用django-admin.py startproject ×××)
step2:創(chuàng)建app并配置相應(yīng)的文件(app根據(jù)用戶的功能模塊去劃分:manage.py startapp ×××),并在setting.py中添加app等內(nèi)容。
step3:上面是完成本次工程的基本的操作和配置,接下來就是在已有的配置的基礎(chǔ)上,
分別完成model模塊、views模塊、urls模塊,可以理解為MVC結(jié)構(gòu),
- model模塊功能是完成數(shù)據(jù)庫的創(chuàng)建以及框架和數(shù)據(jù)庫之間的默認(rèn)接口;
- views模塊功能是負(fù)責(zé)將數(shù)據(jù)很好的顯示在前端以及控制前端的內(nèi)容;
- urls模塊功能則是將各個(gè)視圖所返回的值能夠通過urls模塊將其顯示在前端。
編寫 Model 是SQL server建設(shè)的核心:
****使用軟件(弄清楚這些很關(guān)鍵,否則容易在SQL server測試時(shí)出錯(cuò)):
python: 3.7.4
Django:2.2.6
Sql server:Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
【寫在前面】:
sql server是微軟出的一款閉源的可運(yùn)行于windows和linux平臺上的關(guān)系型數(shù)據(jù)庫。由于其閉源的特性,所以較少有公司使用,但是比較神奇的是,我所在的公司和我?guī)讉€(gè)朋友所在的公司業(yè)務(wù)都是以爬蟲為主,都是以sql server作為主要的數(shù)據(jù)庫在使用。
官方介紹詳見:數(shù)據(jù)庫配置? https://docs.djangoproject.com/zh-hans/2.0/intro/tutorial02/
【應(yīng)用】
在 Django 里寫一個(gè)數(shù)據(jù)庫驅(qū)動(dòng)的 Web 應(yīng)用
- step1:是定義模型 - 也就是數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和附加的其它元數(shù)據(jù),這些概念可以通過一個(gè)簡單的 Python 類來描述。
一、打包
如果你是使用Django的老手應(yīng)該知道**Django默認(rèn)不支持sql server**;如果你剛開始接觸Django,那么你應(yīng)該知道Django默認(rèn)支持四種數(shù)據(jù)庫:postgresql、mysql、oracle、sqlite。以上四個(gè)數(shù)據(jù)庫不需要直接進(jìn)行過多的操作,只需要你修改項(xiàng)目中的settings.py文件中的DATABASE就可以了。
但是使用sql server,則需要自己再導(dǎo)入一些東西。
step1:打開我們的setting我們可以看到下圖中確認(rèn)缺少SQL server連接庫-django-pyodbc-azure庫(files→setting)
搜索并自動(dòng)安裝 django-pyodbc-azure庫(也可 pip install 安裝)
完成安裝如下圖:
**step2:**完成庫安裝以后就修改你的項(xiàng)目中的settings.py文件
【特別說明】:
’PASSWORD’: ‘726803’, # 數(shù)據(jù)庫密碼
’HOST’: ‘(local)’, # 數(shù)據(jù)庫服務(wù)器(一定要填入下圖紅框處名稱)
‘PORT’: ‘’, # 端口,默認(rèn)1433
參考原文鏈接:https://blog.csdn.net/qq_39936349/article/details/80990483
step3:model文件配置
特別說明:是自己通過python manage.py startapp myapp生成的項(xiàng)目名下文件中的model.py文件
如下圖:
codes:
step4:同步數(shù)據(jù)庫:
只需要記住,改變模型需要這三步:
- 編輯 models.py 文件,改變模型。
- 運(yùn)行 python manage.py makemigrations 為模型的改變生成遷移文件。
- 運(yùn)行 python manage.py migrate 來應(yīng)用數(shù)據(jù)庫遷移。
terminal依次執(zhí)行如下兩段代碼
1、生成遷移文件:
2、生成數(shù)據(jù)庫表:
ps 能看到具體操作指令的 操作:
數(shù)據(jù)庫驗(yàn)證:
你也可以通過指令: python manage.py check 實(shí)現(xiàn)整個(gè)項(xiàng)目中的操作有沒有問題。
【寫在后面】
錯(cuò)誤提示:
1.執(zhí)行manage migrate時(shí)報(bào)告“django.db.utils.InterfaceError: (‘IM002’, ‘[IM002] [Microsoft][ODBC 驅(qū)動(dòng)程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認(rèn)驅(qū)動(dòng)程序 (0) (SQLDriverConnect)’) ”的錯(cuò)誤
解決方法:
a. 檢查settings.py文件的信息是否正確
b. 可運(yùn)行以下代碼檢查Python連接SqlServer 2008數(shù)據(jù)庫是否正常
import pyodbc connect = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};'r'SERVER=(local);'r'DATABASE=test;UID=sa;PWD=726803') cursor = connect.cursor() cursor.execute("select * from test") for row in cursor:print(row.TIME, row.DATA)總結(jié)
以上是生活随笔為你收集整理的Python之web开发(三):python使用django框架搭建网站之SQLserver数据库连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python之web开发(一):pyth
- 下一篇: Python之web开发(二):pyth