Django For MSSQL

Django For MSSQL

前面两部分为基础知识,详细描述Mssql的连接请看第三部分

1.Anaconda

这一步可以省略,用原生的也挺好,因为安装theano比较方便,所以推荐用这个吧

(1) 下载Anaconda

去网上搜索一下anaconda,需要历史版本的就去历史文档里面找。https://www.anaconda.com/download/

(2) 执行安装

需要制定安装位置就改一下,不需要就一路Enter和yes就好了

(3) 基本命令

当你键入conda时就会出现各个选项的意思,以下是一些基本操作:

  • conda info -e #查看系统现有的环境
  • conda list #列出所有安装的package
  • conda innstall sth #这个和pip类似
  • sourcce activate root #切换环境,win环境下没有source
  • 还有其他的命令请参照官方文档,这里不做赘述

2.Django

(1) 安装Django

conda install django,pip instaall django,源码包都可以

推荐自强学堂的教程,写的很明白

http://code.ziqiangxuetang.com/django/django-tutorial.html

(3) Django基本流程赘述:

[1]新建一个项目

django-admin startproject project_name

-
[2]新建App

python manage.py startapp app_name

-
[3]注册App
  • APP新建完后,必须注册才能生效。编辑settings.py中的INSTALLED_APPS,增加新建的应用。(在最下面加上app的名字)
    注册app
-
[4]新建模板路径
  • 在安装目录下新建templates目录,专门存放网页文件
  • 修改settings.py中的TEMPLATES在DIRS中添加上刚才的路径,使django知道模板存放在哪
  • 在view中 用render方法返回一个网页 注意这个方法需要导入才可以使用
    模板
[5]View中添加函数
  • 1.定义各种方法:eg
    > - ![image](C:\Users\Administrator\Pictures\way1.png)
    -
  • 2.函数:eg
    > - ![image](C:\Users\Administrator\Pictures\way2.png)
-
[6]urls中定义连接
  • 1.定义方法,确定是从哪个view中调用函数:eg
    > - ![image](C:\Users\Administrator\Pictures\url1.png)
    -
  • 2.确定路径,增加url:eg
    > - ![image](C:\Users\Administrator\Pictures\url2.png)
    -
-
[7]页面编写与继承
  • 1.第一种 {{words}}:eg
    > - ![image](C:\Users\Administrator\Pictures\jicheng1.png)
    -
    > - ![image](C:\Users\Administrator\Pictures\jicheng11.png)
    -
    > - ![image](C:\Users\Administrator\Pictures\jicheng111.png)
    -
  • 2.第二种,网页中调用, 将调用的语句放到一个网页文件里:eg
    -
    > - ![image](C:\Users\Administrator\Pictures\jicheng2.png)
    -
  • 3.第三种 继承替换已经存在的语句:eg
    -
    > - ![image](C:\Users\Administrator\Pictures\jicheng3.png)
    -
    > - ![image](C:\Users\Administrator\Pictures\jicheng33.png)
    -
-
[8]开启服务
  • python manage.py runserver 0.0.0.0:8000
-
[9]其他操作
  • python manage.py makemigrations #创建更改的文件
  • python manage.py migrate #将生成的py文件应用到数据库

3.关于数据库

Django只内置了几个 Database Backend,默认并不支持 Microsoft SQL Server(MSSQL)。这是多么的苦逼啊….庆幸的是微软“大发慈悲”在2012年给 Redhat 提供了官方ODBC驱动,而Django的第三方库中有比较完善的ODBC支持,所以我们可以迂回实现。

言归正传,虽然苦逼,还是要搞一下的,于是乎,我们的任务开始了:列举两种方法,具体大同小异,看个人选择:
方法一:
[1] 安装pyodbc和django-pyodbc
  • pip install pyodbc django_pyodbc
  • 注意:提前安装好gcc gcc-c++等,pip升级
[2] 安装FreeTDS
  • pip或者源码安装均可.这个不安装会报错的!!!
  • 修改配置文件

    vi /usr/local/freetds/etc/freetds.conf
    [mssql]
    host = 192.168.1.110
    port = 1433
    tds version = 7.0
    client charset = UTF-8
  • 进行测试

    tsql -S mssql -U admin -P admin
    locale is "en_US.UTF-8"
    locale charset is "UTF-8"
    using default charset "UTF-8"
    1> use test
    2> go
    1> select * from lianxi
    2> go
    id paytime paynum
    1 2 100
    1>

-

[3] 配置odbc
  • 主要有两个文件 odbc.ini 和 odbcinst.ini
    • 配置odbcinst.ini

      vim /etc/odbcinst.ini加入
      [FreeTDS]
      Description = ODBC of FreeTDS for MS-SQLServer
      Driver = /usr/local/freetds/lib/libtdsodbc.so
      FileUsage = 1
      ##
      ##确定好你的driver的位置,如果找不到查找一下安装freetds的路径

      -
    • 配置odbc.ini

      vim /etc/odbc.ini加入
      [odbc连接名]
      Driver = FreeTDS
      ServerName = mssql(FreeTDS里配的连接名)
      Database = test_db(数据库名)

      -
    • 测试是否成功

      isql -v odbc连接名 账号 密码
      成功后会出现如下信息:
      +---------------------------------------+
      | Connected! |
      | |
      | sql-statement |
      | help [tablename] |
      | quit |
      | |
      +---------------------------------------+
      SQL>

-

[4] 配置Django文件

`
DATABASES = {
‘default’: {
‘ENGINE’: ‘django_pyodbc’,
‘NAME’: ‘test’, #数据库名,实际的在odbc.ini里写的
‘USER’: ‘testname’,#账号
‘PASSWORD’: ‘testpassword’,#密码
‘HOST’: ‘192.168.1.1’,#数据库地址,实际生效的是freetds.conf里配置的
‘OPTIONS’:{
‘driver’: ‘FreeTDS’,
‘dsn’:’odbcmssql’, #ODBC DSN name defined in your odbc.ini,
}
}
}

-

[5] 最后的检查
  • ./manage.py shell 测试一下
    -

    from django.db import connections
    cur = connections['default'].cursor()
    cur.execute("SELECT * FROM test")
    cur.fetchone()
    ##如果正常说明配置结束,一切ok

方法二:
[1] 安装MSSQL Server ODBC Driver
  • 去微软官网下载对应的安装包,注意你的linux版本,现在很多以前的教程都是RetHat5或者6的下载地址,如果你用的是7,请查询 ODBC Driver 13 for SQL Server
  • 详细请见下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=50420

    wget https://packages.microsoft.com/config/rhel/7/prod.repo
    yum update
    yum remove unixODBC #to avoid conflicts
    yum install msodbcsql-13.0.1.0-1 mssql-tools
    yum install unixODBC-utf16-devel #this step is optional but recommended*

    -
  • 如果你还是出现了报错情况,说不能安装的话,那可以试一下下面的情况:

    wget https://packages.microsoft.com/config/rhel/7/prod.repo
    yum update
    yum remove unixODBC unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
    yum install msodbcsql-13.1.3.0-1
    yum install unixODBC-devel #this step is optional but recommended*

    -
  • 我们第一步就已经结束了

-

[2] 安装pyodbc和django-pyodbc
  • pip install pyodbc django_pyodbc
  • 安装完pyodbc我们就可以在python的shell下测试了驱动是否安装成功了。
  • 注意:提前安装好gcc gcc-c++等,pip升级
  • 可以用下面的方式测试一下是否安装成功

    import pyodbc
    connection = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=127.0.0.1;DATABASE=test;UID=user;PWD=password')
    curr = connection.cursor()

-

[3] 配置Django文件


'test':{
'ENGINE':'django_pyodbc',
'NAME':'test',
'HOST':'127.0.0.1',
'USER':'test',
'PASSWORD':'password',
'OPTIONS': {
'driver': 'SQL Server Native Client 11.0',
},
}

-

[4] 最后的检查
  • ./manage.py shell 测试一下

    from django.db import connections
    cur = connections['test'].cursor()
    cur.execute("SELECT * FROM test")
    cur.fetchone()

    ##如果正常说明配置结束,一切ok

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值