66

Django を使用してホスト サーバーの名前を取得する方法は?

クライアント名の代わりにホスティング サーバーの名前が必要ですか?

4

9 に答える 9

106

私は一般的に次のようなものを入れますsettings.py

import socket

try:
    HOSTNAME = socket.gethostname()
except:
    HOSTNAME = 'localhost'
于 2010-11-05T04:15:55.417 に答える
84

リクエストがある場合 (たとえば、これがビュー内にある場合request.get_host())、リバース プロキシ ヘッダーがあればそれを考慮して、完全な locname (ホストとポート) を取得するものを調べることができます。リクエストがない場合は、設定のどこかにホスト名を設定する必要があります。多くの場合、システムのホスト名を見るだけではあいまいになる可能性があり、仮想ホストが最も一般的です。

于 2012-01-03T11:09:57.403 に答える
7

試すos.environ.get('HOSTNAME')

于 2010-11-04T05:06:05.953 に答える