Python 如何将MSSQL连接到Django

Python 如何将MSSQL连接到Django,python,sql-server,django,Python,Sql Server,Django,我正在尝试将MSSQL连接到Django框架,以便能够发送一些查询。但是,我不确定应该在settings.py文件中实现哪个设置。它不断给我错误 我的Django版本是:1.11.20。Python版本是:3.7.1 我用不同的司机试过不同的引擎,但没能成功。我目前的尝试是这样的: DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'DB_name', 'Ho

我正在尝试将MSSQL连接到Django框架,以便能够发送一些查询。但是,我不确定应该在settings.py文件中实现哪个设置。它不断给我错误

我的Django版本是:1.11.20。Python版本是:3.7.1

我用不同的司机试过不同的引擎,但没能成功。我目前的尝试是这样的:

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'DB_name',
        'Host': 'my_host',
        'port': '1433',
        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
            'unicode_results': True,
        },

    }
}
当我尝试应用迁移时,我收到以下输出:

    Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main                                                                                                                        execute_from_command_line(sys.argv)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\base.py", line 327, in execute
    self.check()
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\base.py", line 359, in check
    include_deployment_checks=include_deployment_checks,
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\commands\migrate.py", line 62, in _run_checks
    issues.extend(super(Command, self)._run_checks(**kwargs))
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\management\base.py", line 346, in _run_checks
    return checks.run_checks(**kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\checks\urls.py", line 16, in check_url_config
    return check_resolver(resolver)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\checks\urls.py", line 26, in check_resolver
    return check_method()
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\urls\resolvers.py", line 256, in check
    for pattern in self.url_patterns:
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\urls\resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\ProgramData\Anaconda3\lib\site-packages\django\urls\resolvers.py", line 400, in urlconf_module
    return import_module(self.urlconf_name)
  File "C:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\ahk\Desktop\Django Project\mysite\mysite\urls.py", line 17, in <module>
    from django.urls import path
ImportError: cannot import name 'path' from 'django.urls' (C:\ProgramData\Anaconda3\lib\site-packages\django\urls\__init__.py)
回溯(最近一次呼叫最后一次):
文件“manage.py”,第21行,在
main()
文件“manage.py”,第17行,从命令行(sys.argv)执行主命令
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\ \uuuu init\uuuu.py”,第364行,从命令行执行
utility.execute()
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\\uuuu init\uuuu.py”,第356行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\base.py”,第283行,运行于\u argv
self.execute(*args,**cmd_选项)
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\base.py”,第327行,在execute中
self.check()
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\base.py”,第359行,处于检查状态
包括部署检查=包括部署检查,
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\commands\migrate.py”,第62行,在运行检查中
问题。扩展(超级(命令,自我)。\运行检查(**kwargs))
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\management\base.py”,第346行,在运行检查中
返回检查。运行检查(**kwargs)
运行检查中的文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\checks\registry.py”,第81行
新建错误=检查(应用程序配置=应用程序配置)
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\checks\url.py”,第16行,在check\u url\u config中
返回检查\u分解器(分解器)
文件“C:\ProgramData\Anaconda3\lib\site packages\django\core\checks\url.py”,第26行,在check\u解析器中
返回检查方法()
检查文件“C:\ProgramData\Anaconda3\lib\site packages\django\url\resolvers.py”第256行
对于self.url_模式中的模式:
文件“C:\ProgramData\Anaconda3\lib\site packages\django\utils\functional.py”,第35行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
文件“C:\ProgramData\Anaconda3\lib\site packages\django\url\resolvers.py”,第407行,url\U模式
patterns=getattr(self.urlconf_模块,“urlpatterns”,self.urlconf_模块)
文件“C:\ProgramData\Anaconda3\lib\site packages\django\utils\functional.py”,第35行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
文件“C:\ProgramData\Anaconda3\lib\site packages\django\url\resolvers.py”,第400行,在urlconf_模块中
返回导入_模块(self.urlconf_名称)
文件“C:\ProgramData\Anaconda3\lib\importlib\\uuuuu init\uuuuu.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第967行,在“查找”和“加载”中解锁
文件“”,第677行,在\u加载\u解锁
exec_模块中第728行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“C:\Users\ahk\Desktop\Django Project\mysite\mysite\url.py”,第17行,在
从django.url导入路径
ImportError:无法从“django.urls”(C:\ProgramData\Anaconda3\lib\site packages\django\urls\\uuuu init\uuuuuu.py)导入名称“path”)

非常感谢您的任何见解。

错误与数据库连接无关

Django 1.11.20还没有路径。 您应该使用(regex)


如果这是一个新项目,我强烈建议使用最新的Django版本。

当我尝试更新Django时,我收到了这样一条消息:Django pyodbc azure 1.11.9.0要求Django=1.11.9,但您将使用不兼容的Django 2.2。我需要使用django pyodbc azure连接到mssql,对吗?您已经安装了django pyodbc azure 1.11.9.0,但有一个2.1版本似乎与django 2.1兼容。非常感谢,我还有最后一个问题。现在,在根据您的答案更改版本后,我开始出现以下错误:django.db.utils.InterfaceError:('IM002','IM002][Microsoft][ODBC Driver Manager]未找到数据源名称,并且未指定默认驱动程序(0)(SQLDriverConnect)'),这已经是另一个问题,如果你在上面搜索,也有足够多的答案,所以非常感谢@iklinac
from django.conf.urls import url
urlpatterns = [
    url('',views.home,name='home')
]