【问题标题】:Flask app : The requested URL was not found on the serverFlask 应用程序:在服务器上找不到请求的 URL
【发布时间】:2016-06-09 07:38:31
【问题描述】:

为什么我的添加功能不起作用?

from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/')
@app.route('/<name>')
def index(name="Mona"):
    #name= request.args.get('name', name)
    return "Hello from {}".format(name)
@app.route('/add/num1/num2')
def add(num1, num2):
    return '{} + {} = {}'.format(num1, num2, num1 + num2)
app.run(debug=True, port=8002, host='0.0.0.0')

当我浏览到 0.0.0.0:8002/add/1/4 时出现此错误

Not Found

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

【问题讨论】:

  • 要访问 @app.route('/add/num1/num2') 你需要浏览到 0.0.0.0:8002/add/num1/num2

标签: python python-3.x flask


【解决方案1】:

将 add 方法更改为以下,现在它可以工作了:

@app.route('/add/<int:num1>/<int:num2>')
def add(num1, num2):
    return '{} + {} = {}'.format(num1, num2, num1 + num2)

更新:进一步说明,如果您不想在输入浮点数时收到 404 错误,代码如下:

@app.route('/add/<int:num1>/<int:num2>')
@app.route('/add/<int:num1>/<float:num2>')
@app.route('/add/<float:num1>/<int:num2>')
@app.route('/add/<float:num1>/<float:num2>')
def add(num1, num2):
    return '{} + {} = {}'.format(num1, num2, num1 + num2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多