Django3.1连接SQL Server2017配置指引

参考1 https://www.cnblogs.com/fengbo123/p/10508758.html 

参考2 https://blog.csdn.net/weixin_30530339/article/details/98878116

根据以上两文,本地配置过程

1. 前言

Django只内置了几个 Database Backend(mysql、oracle、sqllite3(默认)、postgresql_psycopg2),所以原生并不支持Microsoft SQL Server。

好在有前人的尝试,以及官方文档的介绍,终于使用django-pyodbc搞定了。

先讲我本地的配置环境:

1. win10

2. Python3.8.2

3. Django3.1
 

安装必要的组件:

  pip install django-sqlserver django-pytds pyodbc django-pyodbc pypiwin32 

主要不同点:

按以下配置

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
        'ENGINE': 'sqlserver',
        'NAME': 'DjangoTest',
        'HOST': '127.0.0.1',
        'PORT': '1433',
        'USER': 'DjangoTest',
        'PASSWORD': 'DjangoTest',
        'OPTIONS': {
            'DRIVER': 'SQL Server Native Client 10.0',
        },
    }
}

出现错误,Error: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)'),检查发现本机驱动里的SQL Server  Native Client为版本11.0更正后错误消失

Django3.1连接SQL Server2017配置指引_第1张图片

 

执行manage.py shell 进入dp命令行模式时报错,'sqlserver' isn't an available database backend

网上有人建议安装django-pyodbc-azure,安装过程中Django被降级,但是还没能解决问题

用以下安装解决问题

pip install django-mssql-backend

另外一个错误:No translation files found for default language zh-cn.

修改配置为:LANGUAGE_CODE = 'zh-hans'

 

你可能感兴趣的:(django)