尽管导入了Flask,但仍获得“未解析的引用'app'”

时间:2020-07-26 11:51:34

标签: python flask

我正在尝试从flask实现get_my_ip()方法。尽管导入了相关软件包,但我仍未得到参考。我找到了类似问题的解决方案,这些问题说我有一个名为“ app”的文件夹,这会导致问题,但找不到该文件夹​​。

代码:

from flask import request
from flask import jsonify

@app.route("/get_my_ip", methods=["GET"])
def get_my_ip():
    return jsonify({'ip': request.remote_addr}), 200

该函数的调用方式如下:

with open('file.txt, 'a') as f:
    f.write(f'ip: {get_my_ip()}')

谢谢。

1 个答案:

答案 0 :(得分:0)

要回答问题标题

您实际上尚未定义app。您不能使用装饰器向尚未定义的应用程序添加路由。

from flask import Flask, request, jsonify

app = Flask(__name__) # See here

@app.route("/get_my_ip", methods=["GET"])
def get_my_ip():
    return jsonify({'ip': request.remote_addr}), 200

我强烈建议The Flask Megatutorial,因为这是一个基本的误会。


要回答您要做什么-这被严重误导了。您试图从Flask中获取某些功能,而无需实际运行应用程序。 Flask不是服务器。在达到代码级别之前,您可以具有任意数量的 actual 服务器。例如,Apache或Nginx,然后是gunicorn。所有这些都可以捕获IP。