かなり単純に聞こえますが、私はこれを数日間試みており、レンガの壁にぶつかっています。以下に、これまでの試行をリストしました。すべての場合、ローカルで実行すると問題なく動作しますが、Azure にデプロイするとすぐに失敗します。VM ではなく Azure Web サイトを使用していることに注意してください (主にコストへの影響のため - VM を使用すると問題が解決する可能性が高いことは承知しています)。これを機能させるために私が見つけた唯一の方法は、プロジェクト内にデプロイされた sqlite データベースを使用することです。
私が試したこと:
1) Azure パートナーの clearDB を使用して MySQL データベースを作成します。「manage.py syncdb」は正常に動作し、「manage.py runserver」を使用してサイトをローカルで実行して使用できます。Azure にデプロイすると、Python-MySqlDb の未解決のインポートで失敗します。
2) SQLAzure データベースを作成し、django-pyodbc-azureを使用して django から接続します。ここでも、syncdb / runserver はローカルで正常に動作し、Azure にデプロイすると dbapi モジュールの未解決のインポートが提供されます。
3) sqllite3 を db エンジンとして使用 - どちらの場合も問題なく動作しますが、冗長性がなく、(一見) データ アクセスが遅くなります。
Azure Websites に Django アプリをデプロイするためのチュートリアルを見てみると、どれもデータベースについて詳しく説明しておらず、Hello World! を作成するところで止まっているだけです。ページ。私が参照する:これとこれ
デプロイしようとしている Web サイトは、予約済みインスタンスで実行されています。私は Django 1.4 と 1.5 の両方でこれらすべてを試しました。virtualenv / pip を使用して、デプロイしているサイト パッケージにすべての依存関係が含まれていることを確認しています。これらはすべて、git リポジトリに含まれています。また、必要なファイルがすべてアップロードされていることを確認するために、FTP 経由でアクセスしました。
確かに - これを正しく設定する方法が必要ですか? そうでない場合、Azure Web サイトの機能として 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)