========================== アプリケーションを作成する ========================== ここでは、Windows AzureにデプロイするためのDjangoアプリケーションを作成・デバッグする方法について説明します。 コマンドプロンプトから行う場合の手順は、一般的なDjangoアプリケーション開発の場合と同様です。 virtualenvの設定 ================ PTVSから実行するPythonインタプリタとしてvirtualenvを使用する場合は、Visual Studioのメニュー 「ツール」→「オプション」→「Python Tools」→「Interpreter Options」→「Add Interpreter」 より設定します。以下は「Django」という名前でvirtualenvを設定した場合の例です。 .. image:: images/develop_application/057.png :width: 476 :height: 265 Djangoアプリケーションの作成 ============================ 新しいDjangoアプリケーション作成の方法は、一般的なDjangoアプリケーション開発の場合と同様です。 コマンドプロンプトでDjangoプロジェクトのフォルダに移動して以下のコマンドを入力します。 .. code-block:: console > python manage.py startapp myapp PTVSから行う場合は、Djangoプロジェクトのコンテキストメニューから 「追加」→「Add New Django app」を選択し、作成するアプリケーションの 名前を入力します。 .. image:: images/develop_application/136.png :width: 448 :height: 228 Django開発サーバの起動 ====================== Django標準の開発サーバの起動は、一般的なDjangoアプリケーション開発の場合と同様です。 コマンドプロンプトでDjangoプロジェクトのフォルダに移動して以下のコマンドを入力します。 .. code-block:: console > python manage.py runserver PTVSから起動する場合は、ツールバーの「開始」、またはDjangoプロジェクトのコンテキストメニューから 「デバッグ」→「新しいインスタンスを開始」を選択します。なお実行用のPythonインタプリタとして virtualenvを使用する場合は、開発サーバの起動に先立ち、Djangoプロジェクトのコンテキストメニューより 「プロパティ」を選択し、プロパティエディタ「General」タブ内の「Interpreter」で、 先に設定したvirtualenvを指定してください。 .. image:: images/develop_application/139.png :width: 456 :height: 242 この方法で起動した場合、ビューやテンプレートなどコード上の任意の箇所にブレークポイントを設定して デバッグを行うとが可能になります。 .. image:: images/develop_application/141.png :width: 476 :height: 258 .. note:: この場合、開発サーバ実行中に編集したコードの自動リロードは行われません。 コードの編集内容を適用する場合はPTVSより開発サーバを再起動する必要があります。 Windows Azureエミュレータの起動 =============================== 基本的な動作確認はDjango標準の開発サーバでも問題ありませんが、 Windows Azure固有の機能を使用する処理について動作を確認したい場合は Windows Azureエミュレータを使用します。 Windows Azureエミュレータ上でのアプリケーション実行時に virtualenv、または非デフォルトのロケーションにインストールした Pythonインタプリタを使用する場合は、 ``Webロール/bin`` フォルダ内のファイル ``AzureSetup.cfg`` をテキストエディタで開き、interpreter_pathプロパティで 示されるPythonインタプリタへのパスを変更します。 :: interpreter_path=C:\path\to\myvirtualenv\Scripts\python.exe .. warning:: ただしこの状態でWindows Azureクラウドサービスにデプロイするとアプリケーションが 正しく動作しなくなるので、Windows Azureクラウドサービスにデプロイする時は 元の内容( ``%SystemDrive%\Python27\python.exe`` )に戻してください。 Windows Azure PowerShell上でプロジェクトフォルダに移動し、以下のコマンドを入力して Windows Azureエミュレータを起動します。なお非管理者ユーザでWindows Azureエミュレータを実行する場合、 エミュレータ起動中にWindowsのユーザアカウント制御機能がローカルコンピュータの 変更可否を数回確認してきますので、すべて「はい」を選択してください。 .. code-block:: console > Start-AzureEmulator コマンドの実行が完了後、Windows Azure PowerShell上で「Role is running at ...」と 表示されているURLにWebブラウザでアクセスしてアプリケーションの動作を確認します。 .. image:: images/develop_application/143.png :width: 445 :height: 312 Windows Azureエミュレータを停止する場合は、Windows Azure PowerShell上で以下のコマンドを入力します。 .. code-block:: console > Stop-AzureEmulator .. note:: Windows Azureエミュレータ上でDjangoアプリケーションを動かす場合、 Django標準の開発サーバではなく外部Webサーバ(IIS)上のFastCGIプロセスとして 動作する形となりますので、静的ファイルの配置( ``manage.py collectstatic`` )など Webサーバ上での運用環境の構築時に必要となる手順を開発端末上でも予め行う必要がある点に 注意してください。またコードの編集内容を反映する場合も、それまでに起動されたFastCGIプロセスを 一度終了する必要があります。