在Python中获取头变量

时间:2012-11-23 09:37:38

标签: python nginx flask geoip

我正在尝试在nginx上使用geoip模块,我想我已经正确设置了所有内容,但我的问题是我正在使用的教程是PHP,我正在使用Python Flask。

这是PHP:

<html>
<head>
  <title>What is my IP address - determine or retrieve my IP address</title>
 </head>
<body>
 <?php
     $country_code = getenv(GEOIP_COUNTRY_CODE);
    echo "<br/>Your country : $country_code";
?>
</body>
</html>

特别是这一行:

$country_code = getenv(GEOIP_COUNTRY_CODE);

做同样事情的等价Python代码是什么?这是我正在使用的教程,如果有帮助:LINK

2 个答案:

答案 0 :(得分:1)

您需要拥有一个带有模板的视图,例如:

request.environ将从WSGI环境中获取值

您的观点:

@app.route('/show-country-code/')
def get_my_ip():
    return render_template('show-country-code.html', country_code=request.environ['the_name_of_the_var'])

您的show-country-code.html

<html>
<head>
  <title>What is my IP address - determine or retrieve my IP address</title>
 </head>
<body>
    <p>Your country code is: {{ country_code }}</p>
</body>
</html>

答案 1 :(得分:1)

等效的python / flask代码可以是:

from flask import request
country_code = request.environ.get('GEOIP_COUNTRY_CODE')