from fastapi import FastAPI app = FastAPI() @app.get("/") def index(): return{"msg": "Hello weorkl"} @app.get("/addfunction") def add_get(): c = addfuction(1,2) return {"c": c} @app.post("/function") def add_post(): c = addfuction(1,2) return {"c": c} def addfuction(a,b): return a+b
时间: 2024-04-28 09:20:24 浏览: 190
你的代码是一个使用 FastAPI 框架搭建的 web 应用程序,它包含了一个根路由和两个子路由。其中,根路由是通过 `@app.get("/")` 装饰器定义的,它的作用是在用户访问应用程序的根路径时返回一个 JSON 对象 `{"msg": "Hello weorkl"}`。另外两个子路由分别是 `/addfunction` 和 `/function`,它们分别对应着 GET 和 POST 请求,都会调用 `addfuction` 函数来计算 1 和 2 的和,并返回一个 JSON 对象 `{"c": c}`,其中 `c` 是计算结果。`addfuction` 函数定义在最后面,它接受两个参数,计算它们的和并返回。
相关问题
from flask import Flask from flask import render_template from flask import Blueprint from flask import jsonify,request import pymysql app = Flask(__name__) @app.route('/', methods=['POST']) def hello_world(): # put application's code here name = request.form.get('name') print(name) try: conn = pymysql.connect(host='192.168.198.139', port=3306, user='root', password='Weiyang0924', db='wyy') cursor = conn.cursor() insert_stmt = "SELECT age,birth FROM wyy WHERE NAME=%s" data = (name) cursor.execute(insert_stmt, data) result = cursor.fetchall() age = result[0][0] birth = result[0][1] cursor.close() conn.close() # print('您的年龄为:' + age + '您的出生日期为:' + birth) return '您的年龄为:' + age + '您的出生日期为:'+ birth except: return "您请求的信息无法响应!" # finally: # return "您请求的信息已响应!" # return render_template('index.html') blog_bp = Blueprint('blog',__name__) user_bp = Blueprint('user',__name__) app.register_blueprint(blog_bp,url_prefix = "/blog") app.register_blueprint(user_bp,url_prefix = "/user") @app.route('/post', methods=['POST']) def post_blog(): name = request.form.get('name') age = request.form.get('age') birth = request.form.get('birth') print(name,age,birth) # return jsonify({"msg":"success"}) try: conn = pymysql.connect(host='192.168.198.139',port=3306,user='root',password='Weiyang0924',db='wyy') cursor = conn.cursor() insert_stmt = "INSERT INTO wyy(name,age,birth) values (%s,%s,%s)" data = (name,age,birth) cursor.execute(insert_stmt,data) conn.commit() cursor.close() conn.close() return "您的信息已提交保存完毕!" except: return "您提交的信息无法保存!" if __name__ == '__main__': app.run()
这段代码是一个使用 Flask 框架搭建的简单应用,它包含了两个路由函数和与 MySQL 数据库进行交互的代码。
首先,这个应用导入了必要的模块,包括 Flask、render_template、Blueprint、jsonify 和 pymysql。然后,创建了一个 Flask 应用实例。
`hello_world()` 函数是一个路由函数,用于处理根路径 `/` 的 POST 请求。它从请求的表单中获取名为 `name` 的数据,并根据该名称从数据库中查询相关信息。查询结果中的 `age` 和 `birth` 数据被提取出来,并返回给客户端。
`post_blog()` 函数是另一个路由函数,用于处理路径 `/post` 的 POST 请求。它从请求的表单中获取名为 `name`、`age` 和 `birth` 的数据,并将这些数据插入到数据库中的 `wyy` 表中。
在应用的最后,使用 `app.run()` 启动应用。
请确保你已经安装了 Flask 和 pymysql 库,并正确配置了 MySQL 数据库的连接参数。如果你还有其他问题或需要进一步的帮助,请随时提问。
@app.route('/', methods=['GET','POST']) def index(): name = None form = NameForm() db.create_all() if form.validate_on_submit(): user = User.query.filter_by(username=form.name.data).first() if user is None: user = User(username=form.name.data) db.session.add(user) db.session.commit session['known'] = False if app.config['FLASKY_ADMIN']: send_email(app.config['FLASKY_ADMIN'], 'New User', 'mail/new_user', user=user) else: user = User(username=form.name.data) session['known'] = True session['name'] = form.name.data form.name.data='' return redirect(url_for('index')) send_email(['z_xinzheng@126.com'], 'Warnning', 1 , **kwargs) send_async_email(app, msg) return render_template('index.html', form=form, name=session.get('name'), known=session.get('known', False)) File "C:\Users\DELL\Desktop\flasky\hello.py", line 114, in index if app.config['FLASKY_ADMIN']: KeyError: 'FLASKY_ADMIN' 127.0.0.1 - - [23/May/2023 19:39:40] "POST / HTTP/1.1" 500 -
这个错误看起来是因为在你的 Flask 应用中没有定义 `FLASKY_ADMIN` 配置变量。你可以检查一下你的配置文件或者在应用中定义这个变量。可以在配置文件中加入以下内容:
```
import os
class Config:
# ...
FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
# ...
```
或者在应用中直接定义:
```
app.config['FLASKY_ADMIN'] = 'your_admin_email@example.com'
```
记得将 `'your_admin_email@example.com'` 替换成你的管理员邮箱。这样,就可以通过电子邮件通知管理员了。
阅读全文