如何访问Flask中的服务器变量?

2024-03-28 16:51:20 发布

您现在位置:Python中文网/ 问答频道 /正文

像在PHP中一样,我们可以像这样打印数组$\u服务器:

<?php 
echo '<pre>';
print_r($_SERVER);
echo '</pre>';
?>

我们如何访问flask中php的等效$_服务器变量


Tags: echo服务器flaskserver数组prephpprint
2条回答

通过mod_python,使用mod_wsgi向应用程序传递一个环境变量,例如:

def application(environ, start_response):
...

该环境包含PHP中$\u服务器的典型元素

...
environ['REQUEST_URI'];
...

对于$_SERVER的内容来说,这不是1:1,但是request.environ对象是立即可用的,即不需要mod_wsgi即可工作。下面是一个简单的例子:

from flask import Flask, request

app = Flask(__name__)


@app.route('/')
def home():
    resp = [str(f"{f}: {request.environ[f]}") for f in request.environ]
    return "</br>".join(resp)


if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', threaded=True)

我有一个小flask应用程序在docker compose中运行,主机上已经有Apache和相当多的配置。我能够看到从主机传递的所有主机相关信息

相关问题 更多 >