我需要将我的Django网站连接到Azure SQL数据库。我使用visual studio。和Python 2.7 for 64 bit。
我将此https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-ptvs-django-sql/用于create database config
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'xxx',
'USER': 'xxx',
'PASSWORD': 'xxx',
'HOST': 'xxx.database.windows.net',
'PORT': '1433',
'OPTIONS': {
'driver': 'SQL Server Native Client 11.0',
'MARS_Connection': 'True',
}
}
}
我安装了点子:pyodbc和django-pyodbc-azure - 我认为它们是32位。
如果我从控制台运行python manage.py syncdb - >错误:
django.core.exceptions.improperlyconfigured 'sql_server.pyodbc' isn't an available databace backend.
No module named sql_server.pyodbc.base
如果我运行python->来自visual studio的Django Sync db - >错误:
Unknown command: 'syncdb'
Type 'manage.py help' for usage.
The Python REPL process has exited
答案 0 :(得分:1)
我从https://www.python.org/ftp/python/2.7.11/python-2.7.11.amd64.msi安装了最新的python 2.7 64位版本,并利用它在Visual Studio中创建虚拟环境,从requirements.txt
安装模块,配置数据库信息与您相同。
然后点击sync db
,但我确实发生了你的问题,它在我身边运作良好。
您可以尝试利用虚拟环境作为帖子https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-ptvs-django-sql/#create-the-project上的第3步和第4步提及。
以下是使用版本的python模块:
Django==1.8.4
pyodbc==3.0.10
django-pyodbc-azure==1.8.3.0
答案 1 :(得分:0)
确保sql_server位于Python_xx \ Lib \ site-packages \下或环境PATH或PYTHONPATH
答案 2 :(得分:0)
是的,你可以,但如果你的Python是x86_64版本,那么你的软件包pyodbc和django-pyodbc-azure需要为这个64位版本构建,如果你从VS安装软件包,请先检查一下直接来自shell / powershell。查看您的char tmp[20];
strcpy(tmp,arr[k]);
我假设你使用的是Django 1.9,不赞成从Django 1.7使用syncdb而且不能使用Django 1.9,用$PYTHONPATH
和syncdb
更改你的./manage.py makemigrations
命令检查:
https://docs.djangoproject.com/en/1.9/intro/tutorial02/
https://docs.djangoproject.com/en/1.9/topics/migrations/