3

IISベースのサーバーでDjangoを使用してサイトを実行しようとしています。メインサイト(http://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer )のすべての指示に従い、非常に優れた記事( http://www.messwithsilverlight.com/2009/11/django)で再確認しました。 -on-windows-server-2003-and-iis6 /)。

.pyファイルを読み取るようにIISを設定することに成功しました。主な手順に従って、サーバーにInfo.pyをレンダリングさせることができます。ただし、IISとDjangoをうまく機能させることができないようです。たとえば、仮想ディレクトリが「abc」の場合、「localhost / abc /」に移動すると、ブラウザにそのフォルダのコンテンツディレクトリが表示されます。さらに、「/ dashboard / 1」で特定のページに移動するようにURLを設定している場合、「localhost / abc / dashboard / 1」と入力すると、「ページを表示できません」というエラーが発生します。

IISがDjangoを参照したり、Djangoと対話したりしていないことは間違いありません。誰かがこれを修正する方法について何かアイデアがありますか?

ありがとう

4

2 に答える 2

2

ここに私が従った元の指示があります、

基本的な手順: https://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer 追加のヒント: http://whelkaholism.blogspot.ca/

  1. 最初に行うべきことは、Python 2.5 または 2.6 をインストールすることです。2.7 の場合は、PyISAPIe を再コンパイルする必要がありますが、私はまだ行っていません。http://www.python.org/ftp/python/2.6/python-2.6.msi
  2. Python インタープリターのバージョンと一致する PyISAPIe のバージョンをインストールする必要があります。一致しない場合、失敗します。入手してください: http://sourceforge.net/projects/pyisapie/files/pyisapie/
  3. 最後の手順で抽出したフォルダーを適切な場所 (つまり C:) に移動します。
  4. PyISAPIe.dll のセキュリティ設定を変更する必要があります。Network Service の読み取りが推奨されていますが、これに問題がないことを確認するために全員を設定しました。
  5. 次に、PyISAPIe の Http フォルダを Python インストール ディレクトリの Lib\Site-Packages にカット アンド ペーストする必要があります (重要)
  6. 次に、IIS をセットアップします (実行中のinetmgrでマネージャーを開きます (winkey+r):
    • 新しい仮想ディレクトリを追加し、ウィザードでプロンプトが表示されたら ISAPI 拡張機能の実行を許可します
    • 仮想ディレクトリのプロパティに新しいワイルドカード拡張子を追加し、ファイルが存在する設定のチェックを外します
    • dll を指す Web サービス拡張機能を IIS マネージャーに追加し、許可されていることを確認します。
  7. PyISAPIe フォルダーから、examples\django\Isapi.py をコピーして、Lib\Site-Packages\Http に貼り付けます。
  8. Isapi.py で、パス (つまり c:\inetpub\wwwroot\ web_site\ django_project) と DJANGO_SETTINGS_MODULE (つまりdjango_app.settings)を設定します。
  9. ファイルに変更を加えたら、コマンド プロンプトでiisresetを使用して変更を適用します。

他にできることは次のとおりです。

  • db ファイルのパス (sqlite を使用している場合) に問題がないことを確認します。
  • テンプレートの場所の設定で同じことを行います
  • URL と html ファイルで、パスが仮想ディレクトリ エイリアスに付けた名前で始まることを確認します (つまりweb_site、この例では)。

最後に、CSS の提供で問題が発生する場合があります。問題がある場合は、お知らせください。投稿を更新します。

于 2013-01-11T13:15:13.827 に答える
0

Web サーバーで Django を提供するには、基本的に次の 3 つの重要な詳細が必要です。

  1. 「Pythonを呼び出すこのモジュールが提供するコンテンツを提供してほしい」とWebサーバーに伝える
  2. pythonモジュールに「このファイルの内容を使ってpythonコードを実行してほしい」と伝える
  3. 「Djangoを使ってほしい」とファイルに伝える

仮想ディレクトリのディレクトリ一覧を取得している場合は、VD 設定を調査して、そのディレクトリに PyISAPIe が構成されていることを確認する必要があるようです (重要な詳細 #1)。

あなたが言及した記事から:

  • IIS 管理コンソールを開き、新しい仮想ディレクトリを作成し、ウィザードでプロンプトが表示されたら ISAPI 拡張機能を実行できるようにします。

    • 新しいフォルダーのプロパティを表示し、[構成] ボタンをクリックして (グレー表示されている場合は、最初に [作成] をクリックします)、新しいワイルドカード拡張子 (下のボックス) を追加し、pyisapie.dll ファイルを見つけて、"ファイルが存在することを確認してください」ボックス。

    • IIS マネージャーで、[Web サービス拡張] セクションに移動し、右クリック -> 新しい Web サービス拡張を追加します。

  • 名前を付けて (何でも構いません)、必要なファイルとして pyisapie.dll フィルを追加し、チェックボックスをオンにして拡張機能の状態を許可に設定します。

于 2010-04-14T20:02:41.857 に答える