問題タブ [django-wsgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
8074 参照

django - ルートなしでdjangowsgiスクリプトをリロードします

埋め込まれたwsgiを使用してApacheにdjangoをインストールしています。私はマシンにルートを持っていません。

新しいソースコードをデプロイするときにPythonインスタンスをリロードするようにapacheに指示するにはどうすればよいですか?

すべての.pycファイルを削除しようとしましたが、まだ古いコードが実行されています。

0 投票する
1 に答える
470 参照

django - admin / appname / modelname urlsは、Django1.1rc1のmod_wsgiでは機能しません

私はUbuntuでmod_wsgi1.3.1+Python2.5.2を使用してDjango1.1rc1とApache2.2.8を使用しています。

Djangoの内部テストWebサーバーではすべて正常に機能しましたが、Apache mod_wsgiに移行した後、のようなすべてのURLが機能/admin/appname/modelname/しなくなりました。次のログで404notfoundエラーが表示されます。

不思議なことに、/admin/appname/私のカスタムURLを含む他のすべての部分は問題なく動作します。

それはDjangoのバグですか、それとも構成の問題ですか?そしてそれを解決する方法は?

0 投票する
1 に答える
2189 参照

apache - Apache Prefork / WSGI で Python インタープリターを共有する

単一の Python インタープリターが使用されるように、WSGI を使用して Apache (prefork) 内で Python アプリケーションを実行しようとしています。これは、アプリケーションがスレッド同期を使用して競合状態の発生を防ぐために必要です。Apache prefork は複数のプロセスを生成するため、コードはインタープリター間で共有されず、スレッド同期は無関係になります (つまり、各スレッドは、他のプロセスに関係のない独自のロックのみを認識します)。

セットアップは次のとおりです。

  • Apache 2.0 (プリフォーク)
  • WSGI
  • パイソン2.5

関連するApache構成は次のとおりです。

これが私がこれまでに試したことです(どれもうまくいきませんでした):

  1. WSGIApplicationGroup %{GLOBAL}を追加しています
  2. 仮想ホスト内でWSGIDaemonProcessおよびWSGIProcessGroupを指定する:

    WSGIDaemonProcess osvm スレッド=50
    WSGIProcessGroup osvm

WSGI で単一の Python インタープリターを使用するように Apache prefork に強制する方法はありませんか? ドキュメントは、WSGIDaemonProcess および WSGIApplicationGroup オプションを使用できることを暗示しているようですが、Apache は依然としてプロセスごとに個別の Python インタープリターを作成します。

0 投票する
3 に答える
1153 参照

python - djangoをデプロイする最良の方法はwsgiを使用することだと言われていますが、なぜだろうか?

djangoアプリケーションをデプロイしていますが、ドキュメントでそのためにWSGIアプローチを使用することをお勧めします。

デプロイする前に、他の2つのアプローチ、つまりmod_pythonとfastcgiを使用するよりもなぜそれが推奨されるのかを知りたいと思いました...

どうもありがとう。

0 投票する
2 に答える
10557 参照

django - プロジェクトの Django sys.path.append *and* WSGI で必要なアプリ

プロジェクトのルートパスをpythonパスに追加する必要がある理由と、WSGIファイルのアプリケーション自体を追加する必要がある理由を教えてください。

プロジェクトベースは「djapp」、アプリケーションは「myapp」と呼ばれます。

「/../djapp/」の行を省略すると、「djapp.settings」はインポートできますが、「myapp」はインポートできないことがログに記録されます。(「djapp」がインポートされたことを検証しています)

./manage.py コマンドで正しく動作します。__init__プロジェクトフォルダにあります。

テストのために、次を使用して同じ問題が発生しaddsitedirます。

0 投票する
2 に答える
1480 参照

django - wsgiのdjangoプロジェクトと並行してスレッドを持つ正しい方法

私は django プロジェクトを書いています。特定のタスクを実行する並列スレッドが必要です。

プロジェクトは、mod_wsgi を使用して Apache2.2 にデプロイされます。

実際、私の実装は、 django.wsgiファイルから呼び出されるwhile True - Sleepを持つスレッドで構成されています。

この実装は正しいですか?

2 つの問題が発生します: django.wsgi は 1 回だけ呼び出されますか? スレッドのそのインスタンスだけを実行しますか? 次に、スレッドを実行するには、少なくとも 1 つのページに「手動で」アクセスする必要があります。回避策はありますか?

より良い解決策についてのヒントはありますか?

前もって感謝します。

0 投票する
2 に答える
1809 参照

python - WSGIScriptAlias が /PREFIX の場合の Django localeURL

序章

localeURL の使用について質問があります。次のようなURLを使用すると、すべてがうまく機能します: http://www.example.com/

問題

しかし、私のアプリケーションは mod_wsgi を使用してサーバーとして apache を使用しています。httpd.conf スクリプトには、次の行が含まれています。

次のような URL が得られます:
http://www.example.com/MY_PREFIX/

change_locale ビューでも同じ問題が発生しました。このプレフィックスを管理するために、このコードを変更しました (settings.SERVER_PREFIX に保存)。

このカスタマイズされたビューを使用すると、言語を正しく変更できますが、それが正しい方法かどうかはわかりません。

質問

  1. httpd.conf で WSGIScriptAlias を /PREFIX (つまり "/Blog") で使用する場合、python 側で WSGIScriptAlias に一致する変数 (ここでは settings.SERVER_PREFIX) を使用する必要がありますか? 私はMEDIA_URLなどに使用していますが、Python側でこれを管理することなく「自動的に」機能させるために、いくつかの設定を行う必要があるかもしれません

  2. このカスタマイズされたビュー (change_locale) は、この問題を管理する正しい方法だと思いますか? それとも、1. に関してはある種の自動魔法のようなものがありますか?

  3. アドレスバーにアドレス ( http://www.example.com/MY_PREFIX/ )を入力しても問題は解決しません。カスタマイズが進むべき道なら、これも変更しますが、もっと良い解決策があると思います!

0 投票する
2 に答える
882 参照

apache2 - wsgiapacheのインタプリタバージョンの言い方

debianでは最近Pythonのデフォルトバージョンを2.5から2.6に変更しましたが、2.5が必要ですが、Pythonのデフォルトではなくpythons2.5を使用するようにapacheやwsgiスクリプトを構成するにはどうすればよいですか?

0 投票する
1 に答える
2518 参照

django - wsgi を使用して、stdout と stderr を Django のファイルにリダイレクトします

共有ホスティングでdjangoをwsgiで動作させようとしているので、サーバーログにアクセスできません。

次のように、出力を django.wsgi スクリプトのファイルにリダイレクトしようとしています。

しかし、これは私が持っているエラーです(アクセスできる唯一のエラーログにあります)

それが私が得ることができるすべてのエラーです

9 行目は、ファイルを開こうとする行です。以前に作成したファイルなしで、全員に書き込みアクセスを許可して、以前にファイルを作成しようとしました..そして何もしませんでした。アプリでは、500 サーバー エラーのみが発生します。

Apache ログにアクセスせずにこの出力を取得する適切な方法はありますか?

編集:

絶対パスを使用すると、ファイルを開いて書き込むことができますが、最終的にファイルを閉じない限り、空のファイルが取得されます。必要ですか? ファイルを開いたままにできますか? ...

最初の問題に関しては、例外処理を使用しましたが、スクリプトの最後に「finish ok」をファイルに書き込み、ファイルを閉じますが、それでもエラーが発生します。

意図的にエラーを発生させた場合、それはファイルに記録されるため、「OK」を取得すると、スクリプトは正常に機能したと思いますが、結果は依然としてそのメッセージエラーです...手がかりはありません

0 投票する
2 に答える
2851 参照

django-cms - 「WSGIRequest」オブジェクトには属性「LANGUAGE_CODE」がありません

無効にすると cms.middleware.multilingual.MultilingualURLMiddleware

'WSGIRequest' object has no attribute 'LANGUAGE_CODE' ページの編集時または{% show_menu_below_id %}タグの使用時に、レンダリング中に例外をキャッチしました。

langプレフィックスは必要ありません。これを無効にするのを手伝ってください。