Django 连接sql server数据库的方法


Posted in Python onJune 30, 2018

*在此注明,本人使用的是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,则需要自己再导入一些东西。

 Django 连接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实现基于HTTP文件传输实例
Nov 08 Python
Python实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
python使用reportlab实现图片转换成pdf的方法
May 22 Python
python3设计模式之简单工厂模式
Oct 17 Python
Python3安装Scrapy的方法步骤
Nov 23 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
Windows下Anaconda和PyCharm的安装与使用详解
Apr 23 Python
python中数字是否为可变类型
Jul 08 Python
python之pygame模块实现飞机大战完整代码
Nov 29 Python
python time.strptime格式化实例详解
Feb 03 Python
python实现A*寻路算法
Jun 13 Python
python绘制直线的方法
Jun 30 #Python
Python Grid使用和布局详解
Jun 30 #Python
Python 删除连续出现的指定字符的实例
Jun 29 #Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 #Python
python去除文件中重复的行实例
Jun 29 #Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 #Python
Python 利用内置set函数对字符串和列表进行去重的方法
Jun 29 #Python
You might like
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
javascript数组排序汇总
2015/07/07 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
js定时器实例分享
2016/12/20 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
python三元运算符实现方法
2013/12/17 Python
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Python内置函数之filter map reduce介绍
2014/11/30 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
利用python修改json文件的value方法
2018/12/31 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
Python修改列表值问题解决方案
2020/03/06 Python
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
自考生自我鉴定范文
2013/10/01 职场文书
自主招生自荐信
2013/12/08 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
网络营销计划书
2015/01/17 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Java Socket实现多人聊天系统
2021/07/15 Java/Android