ここでは、Windowsローカルコンピュータ上でDjangoアプリケーション作成してWindows Azure Webサイトにデプロイするために必要となる各種ソフトウェアのセットアップと、デプロイするPythonアプリケーションのプロジェクトを作成します。
Windows Azure Webサイトにアプリケーションをデプロイするための手段として、Team Foundation Service、FTP、Gitのうちのいずれかを選択することができます。以降ではGitコマンドを使用するデプロイの方法を紹介していますので、msysgitなど、コマンドラインからの利用が可能なGitクライアントをローカルコンピュータにインストールしてください。
アプリケーションを開発・実行するためのPythonインタプリタをローカルコンピュータ上にインストールします。具体的な手順はSDKをインストールするを参照してください。またdistributeとpipも併せて導入してください。
なおWebサイトにアプリケーションをデプロイする場合、アプリケーションで使用するサードパーティライブラリも併せてデプロイする必要があります。アプリケーションが必要とするライブラリだけを選別してデプロイできるよう、そのアプリケーション専用のvirtualenvを作成しておくと良いでしょう。
Webサイトの場合はクラウドサービスとは異なり、ローカルコンピュータにインストールされているサードパーティライブラリをそのままWindows Azure上にアップロードする形となるため、必ずしもWebPIで提供されているDjangoのバージョンに従う必要はありません。コマンドプロンプト上で以下のコマンドを入力し、PyPIよりDjangoをインストールします。
> pip install django==1.4.3
クラウドサービスの場合とは異なり、Webサイトについてはアプリケーションパッケージ作成用の専用ツールなどは特にありませんので、任意の名前でプロジェクトのフォルダを作成し、その中に一般的な手順でDjangoアプリケーションを作成します。以下では、python-websiteという名前でプロジェクトのフォルダを作成、その中にmywebsiteという名前でDjangoアプリケーションを作成しています。もちろんPTVSを使用して作成しても構いません。
> mkdir python-website
> cd python-website
> python django-admin.py startproject mywebsite
Pythonインストール先(またはvirtualenv作成先)のフォルダ内にあってDjangoがインストールされているLib¥site-packagesフォルダを、プロジェクトのディレクトリにまるごとコピーします。以下はコマンドの例です。
> mkdir site-packages
> xcopy /s C:¥path¥to¥Python27¥Lib¥site-packages .¥site-packages
続けて、WebブラウザでPTVSのダウンロードページを開き、ダウンロードリストの中にあるファイルwfastcgi.pyをダウンロードしてプロジェクトのルートディレクトリに配置します。
プロジェクトフォルダのローカルGitリポジトリを作成し、ここまでの作業内容をコミットします。プロジェクトのフォルダにて以下のGitコマンドを入力してください。
$ git init .
$ git add .
$ git commit -m "initial"
ここまでが終わった時点で、プロジェクトのフォルダは以下のような内容になっているはずです(「Solution Items」のフォルダはVS上での表示のみで、実際にはwfastcgi.pyはプロジェクトフォルダの直下に位置しています)。
新しいDjangoアプリケーション作成の方法は、一般的なDjangoアプリケーション開発の場合と同様です。Windows Azure Webサイトを対象とする専用のSDKなどは特にありませんので、ローカルコンピュータ上でのアプリケーション動作確認も基本的にはDjango標準の開発サーバで行います。詳細はアプリケーションを作成するを参照ください。
ローカルコンピュータ上で稼動するIISのFastCGIプロセスとしてPythonインタプリタを実行すれば、より実際のWindows Azure Webサイトに近い構成となりますが、Windows Azure Webサイトをターゲットとするアプリケーションの動作確認でそこまでの再現を必要とする状況は少ないでしょう。
アプリケーションでWindows Azure ストレージを使用する場合、ローカルコンピュータ上での動作確認にはWindows Azure SDKに含まれるストレージエミュレータ、または実際のクラウド上に作成したWindows Azure ストレージを使用してください。