最近开始学习Django,开发环境为Win7 + Python3.6 + Django2.1 + MS SqlServer。本篇文章记录在配置过程中碰到的各种问题以及解决方法。
一. 安装开发环境
1. 安装Python
到官网 https://www.python.org/downloads/ 下载需要的版本进行安装。
2. 安装Django
pip install Django
3. 安装MS SqlServer 2008
到“MSDN我告诉你” https://msdn.itellyou.cn/ 下载需要的版本进行安装。
二. 安装依赖项
Django连接SqlServer 2008需要依赖以下库:django-pyodbc, django-pyodbc-azure, django-mssql, 。安装方法如下:
pip install django-pyodbc
pip install django-pyodbc-azure
pip install django-mssql
测试开发环境
1. 创建Django项目
django-admin startproject helloworld
2. 修改数据库配置
修改项目文件夹下settings.py文件中的数据库的配置文件,如下:
DATABASES = \
{
'default':
{
'ENGINE': 'sql_server.pyodbc',
'NAME': 'leon', #数据库的名字
'USER': 'sa', #登录数据库的用户名
'PASSWORD': 'password', #登录数据库的密码
'HOST': 'localhost', #数据库的IP地址
'PORT': '1433', #数据库的端口
'OPTIONS':
{
'driver':'SQL Server Native Client 10.0', #注意,不行就试试11.0
'MARS_Connection': True,
},
}
}
4. 同步数据库
manage.py makemigrations
manage.py migrate
三. 常见问题
执行manage migrate时报告“django.db.utils.InterfaceError: (‘IM002’, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)’) ”的错误
解决方法:
a. 检查选项"driver"后面的信息是否正确
b. 可运行以下代码检查Python连接SqlServer 2008数据库是否正常
import pyodbc
db = pyodbc.connect('DRIVER={SQL Server Native Client 10.0}; SERVER=127.0.0.1; DATABASE=leon; UID=sa; PWD=password')
curs = db.execute('select getdate()')
print(curs.fetchone())
db.close()