我正在尝试从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()}')谢谢。
发布于 2020-07-26 20:00:52
回答问题title
您实际上还没有定义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不是服务器。在达到代码级别之前,您可以拥有任意数量的实际服务器级别。例如,Apache或Nginx,然后是gunicorn。所有这些都可以捕获IP。
https://stackoverflow.com/questions/63099760
复制相似问题