我正在尝试从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()}')
谢谢。
答案 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。