Django 连接sql server数据库的方法

yipeiwu_com6年前Python基础

*在此注明,本人使用的是python3.5和Django2.0.4

sql server是微软出的一款闭源的可运行于windows和linux平台上的 关系型数据库 。由于其闭源的特性,所以较少有公司使用,但是比较神奇的是,我所在的公司和我几个朋友所在的公司业务都是以爬虫为主,都是以sql server作为主要的数据库在使用。

一、打包

如果你是使用Django的老手应该知道Django默认不支持sql server;如果你刚开始接触Django,那么你应该知道Django默认支持四种数据库:postgresql、mysql、oracle、sqlite。以上四个数据库不需要直接进行过多的操作,只需要你修改项目中的settings.py文件中的DATABASE就可以了。

但是使用sql server,则需要自己再导入一些东西。

 

上图中所涉及到的包是我自己打进去的全部可以已通过"pip install XXX"安装,不需要在Django文件中导入。其中特别需要注意的是django-pyodbc-azure是一定要装的,没有它直接就崩了。

二、代码

将上一步完成以后就只需要修改你的项目中的settings.py文件就可以了。

DATABASES = {
  'default': {
    'NAME': 'screen',
    'ENGINE': 'sql_server.pyodbc',
    'HOST': '127.0.0.1',
    'PORT': '1433',
    'USER': 'user',
    'PASSWORD': 'password',
    'OPTIONS':{
      'driver':'SQL Server Native Client 10.0',
    }
  }
}

在这里要注意几点:

1.'ENGINE'这个键值对是固定写法(好像是要pip install pyodbc以后才能生效,时间有点久,有点记不清了)

2.sql server的默认端口号是1433,但是可能有些公司会改端口号,大家用之前自己最好查一查这个端口是不是被sql server占用了

3.在连接默认数据库的时候很多人都没有写过'OPTIONS'这个东西,我一开始也没有写,结果怎么着都连不上。之后上网查了查,很多人说在odbc里调数据库的东西引擎(公司用的windows做开发系统,勿喷……)。结果加进去还是不行,最后发现是'OPTIONS'没有写,写完之后所有问题都解决了。

这个也是很久之前做的事,刚闲下来着手整理,所以有些东西可能有些遗漏。如果有谁看到这篇文章,发现了一些错误或者遗漏的部分请留言,我会及时改正。谢谢!希望这篇文章能帮助到需要那些帮助的朋友!也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python脚本实时处理log文件的方法

这个Python脚本是用来对实时文件的内容监控,比如 Error 或者 time out 字段都可以进行自定义;算是我的第一个真正的Python脚本,自己感觉还是比较臃肿,不过打算放到b...

Python Des加密解密如何实现软件注册码机器码

Python Des加密解密如何实现软件注册码机器码

这篇文章主要介绍了Python Des加密解密如何实现软件注册码机器码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 原理 判断...

python 实现矩阵按对角线打印

python 实现矩阵按对角线打印

如下所示: Description: 将一个矩阵(二维数组)按对角线向右进行打印。(搜了一下发现好像是美团某次面试要求半小时手撕的题) Example: Input: [ [1,2,...

利用Python和OpenCV库将URL转换为OpenCV格式的方法

利用Python和OpenCV库将URL转换为OpenCV格式的方法

今天的博客是直接来源于我自己的个人工具函数库。 过去几个月,有些PyImageSearch读者电邮问我:“如何获取URL指向的图片并将其转换成OpenCV格式(不用将其写入磁盘再读...

python 修改本地网络配置的方法

本文主要说一下怎么使用Python来修改本地的ip和dns等,因为有本地的ip和dns都是随机获取的,有些时候不是很方便,需要修改,我就稍微的封装了一下,但是随机ip和网关、子网掩码等我...