内容创作者一定要学会在飞书多维表上用Sora大模型!功能太强大了
2026/1/16 20:00:44
fromflaskimportFlask app=Flask(__name__)# 创建应用实例@app.route("/")# 路由装饰器defindex():return"Hello World"if__name__=="__main__":app.run(debug=True)# 启动服务器# 基础路由@app.route("/")# 动态路由@app.route("/user/<username>")@app.route("/post/<int:id>")# 多方法支持@app.route("/api",methods=["GET","POST"])fromflaskimportrequest# 获取请求数据request.method# 请求方法request.args# GET参数request.form# 表单数据request.json# JSON数据request.headers# 请求头# 返回字符串return"文本"# 返回JSONreturn{"key":"value"}# Flask自动转为JSON# 自定义状态码returnjsonify(data),201# 重定向fromflaskimportredirectreturnredirect("/new-url")fromflaskimportrender_template# 渲染模板并传参returnrender_template("index.html",name="John",items=items)<!-- 变量 -->{{ variable }}<!-- 循环 -->{% for item in items %} {{ item }} {% endfor %}<!-- 条件 -->{% if condition %}<p>条件成立</p>{% endif %}<!-- 安全输出HTML -->{{ html_content|safe }}<!-- base.html --><html><body>{% block content %}{% endblock %}</body></html><!-- child.html -->{% extends "base.html" %} {% block content %}<h1>子页面内容</h1>{% endblock %}# 字符串参数@app.route("/<username>")defprofile(username):returnf"用户:{username}"# 类型转换器@app.route("/post/<int:post_id>")# int, float, path, uuid@app.route("/<any(blog,article):section>/<id>")@app.before_requestdefbefore_each_request():# 每个请求前执行pass@app.after_requestdefafter_each_request(response):# 每个请求后执行returnresponse@app.errorhandler(404)defpage_not_found(error):return"页面不存在",404@app.errorhandler(500)defserver_error(error):return"服务器错误",500# 发送JSON请求importrequests requests.post(url,json={"key":"value"})# 接收JSON数据@app.route("/api",methods=["POST"])defapi():data=request.get_json()# 获取JSON数据returnjsonify(data)# 返回JSON响应fromflaskimportrequest@app.route("/submit",methods=["POST"])defsubmit():username=request.form.get("username")password=request.form.get("password")returnf"用户:{username}"importrequests# GET请求response=requests.get(url,params=params)data=response.json()# POST请求response=requests.post(url,json=data)# 添加请求头headers={"Authorization":"Bearer token"}response=requests.get(url,headers=headers)try:response=requests.get(url,timeout=5)response.raise_for_status()# 检查状态码data=response.json()exceptrequests.Timeout:return"请求超时"exceptrequests.RequestExceptionase:returnf"请求失败:{e}"项目名称/ ├── app.py # 主应用文件 ├── requirements.txt # 依赖列表 ├── templates/ # 模板目录 │ └── index.html ├── static/ # 静态文件 │ ├── css/ │ ├── js/ │ └── images/ └── README.mdFlask==2.3.3 requests==2.31.0 python-dotenv==1.0.0@app.route("/<guess>")defguess_number(guess):try:guess=int(guess)ifguess==41:return{"correct":True,"message":"恭喜!"}return{"correct":False,"message":"再试试"}except:return{"error":"请输入数字"}items=[]@app.route("/",methods=["GET","POST"])deftodo():ifrequest.method=="POST":data=request.get_json()items.append(data["item"])returnrender_template("list.html",items=items)@app.route("/<topic>")defwordcloud(topic):# 获取维基百科内容response=requests.get(f"维基百科API/{topic}")text=response.json()["extract"]# 生成词云wordcloud=WordCloud().generate(text)svg=wordcloud.to_svg()returnrender_template("wordcloud.html",svg=svg)| 分类 | 关键字 | 用途 |
|---|---|---|
| 应用 | Flask(__name__) | 创建应用 |
| 路由 | @app.route() | 定义URL映射 |
| 请求 | request | 获取请求数据 |
| 响应 | return,jsonify() | 返回响应 |
| 模板 | render_template() | 渲染HTML |
| 模板语法 | {{ }},{% %} | 动态内容 |
| 动态路由 | <variable> | URL参数捕获 |
| 错误处理 | @app.errorhandler() | 自定义错误页面 |
| 外部调用 | requests | 调用API |
| JSON处理 | get_json(),jsonify() | JSON数据交换 |
app = Flask(__name__)@app.route("/path")request对象jsonify()render_template("模板.html", 参数){{ 变量名 }}显示内容{% for %}循环,{% if %}条件@app.route("/<参数名>")request.get_json()requests.get(url)或requests.post()try-except捕获异常app.run(debug=True)@app.route("/endpoint", methods=["METHOD"])def function_name():data = request.get_json()或param = request.args.get("key")return jsonify(result)或return render_template(...)200:成功201:创建成功400:请求错误401:未授权404:资源不存在500:服务器错误