听起来相当简单,但我一直试图做几天,现在已经击中了一堵砖墙。下面我列出了迄今为止的尝试,在所有情况下,它在本地运行时都能够完美运行,但是一旦部署到Azure就会失效。请注意,我使用Azure网站而不是虚拟机(主要是因为成本影响 - 我知道使用虚拟机很可能会解决问题)。我发现完成这项工作的唯一方法是使用在项目中部署的sqlite数据库。是否可以在使用数据库的Azure网站上创建Django应用程序?
事情我已经尝试:
1)创建一个使用蔚蓝伙伴clearDB MySQL数据库。 'manage.py syncdb'工作正常,可以运行并使用'manage.py runserver'在本地使用该站点。部署到天蓝色,并导致Python-MySqlDb未解析的导入失败。
2)创建一个SQLAzure数据库并使用django-pyodbc-azure从django进行连接。同样,syncdb/runserver在本地正常工作,部署到Azure可为dbapi模块提供未解析的导入。 3)使用sqllite3作为数据库引擎 - 在两种情况下都能正常工作,但没有冗余和(看起来)缓慢的数据访问。
查看在Azure网站上部署Django应用程序的教程,它们都没有涉及数据库的任何细节,只是停止在创建Hello World!页。我指的是:this和this
我们正在尝试部署的网站正在保留的实例上运行。我用Django 1.4和1.5都尝试了这一切。我使用virtualenv/pip来确保所有的依赖关系都包含在我正在部署的站点包中,所有这些都包含在git存储库中。已经通过FTP去验证所有需要的文件正在上传。
SURELY - 必须有一种方法来正确设置它?如果没有,将Django作为天蓝色网站的特征看起来完全没有意义。
任何帮助非常感谢!
编辑
回溯从对clearDB解决方案Azure的错误日志:
File "D:\home\site\wwwroot\site-packages\django\utils\importlib.py", line 35, in import_module
__import__(name)
File "D:\home\site\wwwroot\site-packages\django\db\backends\mysql\base.py", line 17, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
ErrorCode Access is denied.
(0x5)
谢谢马特 - 我会仔细阅读文章 – bharling