0

我正在尝试在 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

4

2 回答 2

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>
于 2012-11-23T09:46:30.097 回答
1

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

from flask import request
country_code = request.environ.get('GEOIP_COUNTRY_CODE')
于 2012-11-23T18:16:49.993 回答