2011-12-13 5 views

答えて

9

あなたはHttpRequestを通じて情報を得ることができます。 Djangoのドキュメントhereをチェックしてください。

これは、HTTPヘッダー情報を含む辞書であるMETA属性を通じてアクセスできます。

例:

def someView(request): 
    #Try printing to screen 
    print request.META['SERVER_PORT'] 
    ... 
    return(response) 
+0

'SERVER_PORT'は確実に存在するのですか、それとも時には存在しない危険性がありますか? – exupero

+0

よく、私が開発サーバーでうまく動作すると言えるほどです。私はそれをApacheの下で実行しようとはしていません。私は二重チェックを行うために少しのテストコードを書くだろう。それ以外の場合は、リクエストオブジェクトを経由せずにどのように見つけられるかわかりません。 –

+3

あなたがビューにいない場合はどうなりますか? – johnboiles

3

多分request.META['SERVER_PORT']

か、ビューが表示されていませんか?

+12

私はビューにいないときに解決策はありますか? – utapyngo

0

は、私はあなたのビューのうち、ポート番号やIPアドレスを知る必要がある場合、これは役に立つかもしれません見つけ

import sys 
import socket 
logger.error(socket.gethostbyname(socket.gethostname())+"----"+sys.argv[-1]) 

(例えばmodels.pyに。)これにより、以下のような出力が得られます:

192.168.1.222----0.0.0.0:8000 
+0

@utapyngoこれはあなたがビューにいないときの解決策です。 –

関連する問題