2

私は PHP の経験がありますが、現在は Python アプリケーションを管理する必要があります。すでに開発され、ライブサーバーで実行されています。ライブ サーバーには、beta.domain.com もあります。メインドメインアプリケーション以外に、同じソースの独自のコピーがあります。

現在、テンプレート内で何かを印刷すると影響がありますが、その前に、MVCに従って、印刷または後でインポートされた「settings.py」またはその後で使用しようとしてsys.exit()manage.pyviews.pyこれらのファイルにはまったく影響しません。上記のファイルを変更した後でも、Web サイトはすべてをレンダリングし、関連するテンプレートを表示します。

もうひとつ、取り除けば

return render_to_response('home.html', RequestContext(request, context))

テスト用の内部ではviews.py、何も効果がなく、Web サイトは引き続きテンプレートでレンダリングされます。

Web サイトのコードが既にホストされている場合、任意のファイル (.py) のコードに変更を反映させるために、プロジェクト関連のファイルを実行して再初期化する必要があると考える必要がありますか?

Pythonコードをどのように更新する必要があるのか​​ まったくわかりません。簡単なヘルプがあれば大歓迎です。

4

3 に答える 3

4

コードを変更するたびに、Apache サーバーを再起動する必要があります。

<path to apache>/bin/apachectl restart

プロセスの Python インタープリターは、以前の Web 要求で既に Python モジュールをロードしています。モジュールがロードされると、メモリに保存されます。次にリクエストが来ると、Python インタープリターは、既にメモリにロードされているモジュールのバージョンを単に使用します。したがって、変更されたコードは取得されません。

于 2013-09-19T09:48:52.123 に答える
0

解決策は、Sudipta の回答に従って Apache サーバーを正確に再起動することです。py ファイルが解釈されるたびに、対応する .py ファイルごとに .pvc ファイルが作成されます。Apache サーバーが再起動されると、すべての python ソース ファイルが再び解釈され、新しい .pvcファイルが生成され、Apache が再起動するまでこれらのファイルのみが実行されます。

于 2013-09-20T09:30:03.233 に答える
0

ライブ サーバー上のファイルを編集しようとしないでください。あなたは自分自身をひどい困難に陥らせるだけです。開発にはローカル コピーを使用し、できればバージョン管理システムを介してクローンを作成し、変更ごとではなく定期的にデプロイします。

あなたの質問に答えるには、通常、Python コードの変更を確認するために WSGI プロセスを再起動する必要があります。これを行う簡単な方法はtouch、.wsgi ファイルに対して行うことです。この時点で、mod_wsgi はファイルが変更されたことを検出し、すべてをリロードします。それ以外の場合は、単に Apache をリロードできます。

残念ながら、manage.py または sys.exit への言及がわかりません。

于 2013-09-19T08:53:04.680 に答える