質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

Q&A

1回答

4951閲覧

IISでのDjangoの動かし方

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

0グッド

0クリップ

投稿2019/12/18 04:29

前提・実現したいこと

DjangoプロジェクトをIISで動かしたいのですが、
下記のように表示され、runserverで起動した場合とは異なる表示になってしまいます。

イメージ説明

発生している問題・エラーメッセージ

上記のようなディレクトリの画面ではなく、
runserver起動時のような画面での表示をしたい。

該当のソースコード

web.congig <?xml version="1.0" encoding="UTF-8"?> <configuration> <appSettings> <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" /> <add key="PYTHONPATH" value="C:\inetpub\wwwroot\app" /> <add key="DJANGO_SETTINGS_MODULE" value="app.settings" /> </appSettings> <system.webServer> <handlers> <add name="Python" path="*.py" verb="*" modules="FastCgiModule" scriptProcessor="C:\inetpub\wwwroot\app\env\scripts\python.exe %s %s" resourceType="File" requireAccess="Script" /> <add name="Python FastCGI" path="*.py" verb="*" modules="FastCgiModule" scriptProcessor="C:\inetpub\wwwroot\app\env\scripts\python.exe|C:\inetpub\wwwroot\app\env\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> </handlers> <directoryBrowse enabled="true" /> </system.webServer> </configuration>

試したこと

下記を参考にしております。
https://qiita.com/okoppe8/items/905d2c22e750261c62f0
こちらとの違いは、下記部分で1行目のaddを追記している点と2行目のpathを*.pyにしている点です。

<handlers> <add name="Python" path="*.py" verb="*" modules="FastCgiModule" scriptProcessor="C:\inetpub\wwwroot\app\env\scripts\python.exe %s %s" resourceType="File" requireAccess="Script" /> <add name="Python FastCGI" path="*.py" verb="*" modules="FastCgiModule" scriptProcessor="C:\inetpub\wwwroot\app\env\scripts\python.exe|C:\inetpub\wwwroot\app\env\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> </handlers>

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/12/18 23:43 編集

回答とまでは言えないので質問のコメント欄に書きます。 質問の画像を見ると IIS が localhost/app/ という URL の要求を受けたという状況で、app はフォルダのように見えます。 そうだとすると、IIS は app フォルダの中の既定のファイルを探してそれを表示しようとします。 フォルダに既定のファイルが見つからないと、フォルダ内のファイル一覧を表示しようとします。それが表示されているように見えます。(デフォルトではそれは許可されてないのでエラーになるのですが、質問者さんが許可したのだろうと想像) 要求 URL にファイル名まで含めるか、IIS の規定のファイルに表示したいファイルのファイル名を加えたらどうなりますか?
guest

回答1

0

コメント欄に書きましたが、質問者さんはどこかに去ってしまって、このスレッドは放置されて Teratail のノイズになってしまいそうなので、画像などを追加して回答欄に書いておきます。

質問の画像を見ると IIS が localhost/app/ という URL の要求を受けたという状況で、app はフォルダのように見えます。

その場合、IIS は app フォルダの中の既定のドキュメントを探してそれを表示しようとします。以下の画像がデフォルトの既定のドキュメントです(default.aspx は ASP.NET を有効にすると追加されるもので元々は含まれていませんが)。

イメージ説明

IIS は app フォルダの中でこれらのドキュメントを上から順に探して、見つかればそれを応答として返します。

フォルダに既定のファイルが見つからないと、フォルダ内のファイル一覧を表示しようとします。それが表示されているようです。

ただし、デフォルトではそれは許可されてないので HTTP 403.14 エラーになるのですが、質問者さんもしくはサーバー管理者の人が有効にしたのでしょう。

イメージ説明

要求 URL に要求するファイル名を含めるか、IIS の規定のドキュメントにデフォルトで表示したい(localhost/app/ という URL の要求を受けた時に表示したい)ファイルのファイル名を加えたら解決すると思います。

投稿2019/12/26 03:10

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問