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