This commit is contained in:
z66
2025-09-03 11:19:03 +08:00
parent 584548d006
commit 2eeaa699c7
13 changed files with 347 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
from flask import Flask
from flask import render_template
from flask import request
from flask import make_response
app = Flask(__name__)
@app.route('/') # 路由 映射到根目录
def hello_world():
return 'Hello, World!'
@app.route('/greet/<name>') # 视图,有传参
def greet(name):
return f'Hello, {name}!'
@app.route('/submit', methods=['POST']) # 请求对象,定义了方法
def submit():
username = request.form.get('username')
return f'Hello, {username}!'
@app.route('/custom_response') # 响应对象
def custom_response():
response = make_response('This is a custom response!') # 响应体
response.headers['X-Custom-Header'] = 'Value' # 响应头
return response
@app.route('/hello/<name>') # 使用模板渲染
def hello(name):
return render_template('hello.html', name=name)
if __name__ == '__main__':
app.run(debug=True)
+24
View File
@@ -0,0 +1,24 @@
from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired, Email
app = Flask(__name__)
app.secret_key = 'your-secret-key' # 开发用,生产请用环境变量
class MyForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
email = StringField('Email', validators=[DataRequired(), Email()]) # ✅ 用 StringField + Email()
submit = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def form():
form = MyForm()
if form.validate_on_submit():
name = form.name.data
email = form.email.data
return f'Name: {name}, Email: {email}'
return render_template('wtf_form.html', form=form)
if __name__ == '__main__':
app.run(debug=True)
+84
View File
@@ -0,0 +1,84 @@
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "## 安装flask",
"id": "d08d0aec541e30fb"
},
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-08-29T01:31:15.189520Z",
"start_time": "2025-08-29T01:30:52.483942Z"
}
},
"source": "pip install flask",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting flask\r\n",
" Downloading flask-3.1.2-py3-none-any.whl.metadata (3.2 kB)\r\n",
"Collecting blinker>=1.9.0 (from flask)\r\n",
" Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)\r\n",
"Requirement already satisfied: click>=8.1.3 in /opt/conda/lib/python3.11/site-packages (from flask) (8.1.7)\r\n",
"Collecting itsdangerous>=2.2.0 (from flask)\r\n",
" Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)\r\n",
"Requirement already satisfied: jinja2>=3.1.2 in /opt/conda/lib/python3.11/site-packages (from flask) (3.1.2)\r\n",
"Requirement already satisfied: markupsafe>=2.1.1 in /opt/conda/lib/python3.11/site-packages (from flask) (2.1.3)\r\n",
"Collecting werkzeug>=3.1.0 (from flask)\r\n",
" Downloading werkzeug-3.1.3-py3-none-any.whl.metadata (3.7 kB)\r\n",
"Downloading flask-3.1.2-py3-none-any.whl (103 kB)\r\n",
"\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m103.3/103.3 kB\u001B[0m \u001B[31m421.7 kB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m00:01\u001B[0m00:01\u001B[0m\r\n",
"\u001B[?25hDownloading blinker-1.9.0-py3-none-any.whl (8.5 kB)\r\n",
"Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)\r\n",
"Downloading werkzeug-3.1.3-py3-none-any.whl (224 kB)\r\n",
"\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m224.5/224.5 kB\u001B[0m \u001B[31m1.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n",
"\u001B[?25hInstalling collected packages: werkzeug, itsdangerous, blinker, flask\r\n",
" Attempting uninstall: blinker\r\n",
" Found existing installation: blinker 1.6.3\r\n",
" Uninstalling blinker-1.6.3:\r\n",
" Successfully uninstalled blinker-1.6.3\r\n",
"Successfully installed blinker-1.9.0 flask-3.1.2 itsdangerous-2.2.0 werkzeug-3.1.3\r\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"execution_count": 1
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "f9af5a802cbd2abe"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
+17
View File
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<title>Form Example</title>
</head>
<body>
<form action="/submit" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
+9
View File
@@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>Hello, {{ name }}!</h1>
</body>
</html>
+14
View File
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data"> <!--enctype指定表单类型,支持文件上传 -->
<label for="file">File:</label>
<input type="file" id="file" name="file">
<br>
<input type="submit" value="Upload">
</form>
</body>
</html>
+22
View File
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<title>Form Example</title>
</head>
<body>
<form method="post">
{{ form.hidden_tag() }}
<div>
{{ form.name.label }}<br>
{{ form.name(size=32) }}
</div>
<div>
{{ form.email.label }}<br>
{{ form.email(size=32) }}
</div>
<div>
{{ form.submit() }}
</div>
</form>
</body>
</html>
+16
View File
@@ -0,0 +1,16 @@
import os,sys #导入模块
def add_prefix_files(): #定义函数名称
old_names = os.listdir( path ) #取路径下的文件名,生成列表
for old_name in old_names: #遍历列表下的文件名
# if old_name!= sys.argv[0]: #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名
if old_name.endswith('.mp4'): #当文件名以.txt后缀结尾时
old_name1=old_name.split(".")[0]
number = old_name1[-1]
name = old_name1[:1]
new_name =number+" "+name+".mp4"
os.rename(os.path.join(path,old_name),os.path.join(path,new_name)) #重命名文件
print (old_name,"has been renamed successfully! New name is: ",new_name) #输出提示
if __name__ == '__main__':
path = f'D:\Program File data\mp4\半音阶口琴' #运行程序前,记得修改主文件夹路径!
add_prefix_files() #调用定义的函数,注意名称与定义的函数名一致
+16
View File
@@ -0,0 +1,16 @@
from flask import Flask, request, redirect, url_for
app = Flask(__name__)
app.secret_key = 'your_secret_key'
@app.route('/upload', methods=['POST'])
def upload():
file = request.files.get('file')
if file:
filename = file.filename
file.save(f'uploads/{filename}')
return f'File uploaded successfully: {filename}'
return 'No file uploaded'
if __name__ == '__main__':
app.run(debug=True)
+74
View File
@@ -0,0 +1,74 @@
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "### 发送文件",
"id": "259126b0b53fdd9f"
},
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-09-02T09:10:07.287763Z",
"start_time": "2025-09-02T09:10:07.276787Z"
}
},
"source": [
"import requests\n",
"\n",
"url = 'http://127.0.0.1:5000/upload' # 你的 Flask 服务地址\n",
"file_path = 'D:\\Idea Project\\python\\demo.py' # 要上传的文件路径\n",
"\n",
"with open(file_path, 'rb') as f:\n",
" files = {'file': f}\n",
" response = requests.post(url, files=files)\n",
"\n",
"print(response.text)"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"File uploaded successfully: demo.py\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"<>:4: SyntaxWarning: invalid escape sequence '\\I'\n",
"<>:4: SyntaxWarning: invalid escape sequence '\\I'\n",
"C:\\Users\\zy187\\AppData\\Local\\Temp\\ipykernel_3844\\645906349.py:4: SyntaxWarning: invalid escape sequence '\\I'\n",
" file_path = 'D:\\Idea Project\\python\\demo.py' # 要上传的文件路径\n"
]
}
],
"execution_count": 5
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
+16
View File
@@ -0,0 +1,16 @@
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/')
def form(): # 展示表格
return render_template('form.html')
@app.route('/submit',methods=['POST'])
def submit(): #提交表格
name = request.form.get('name')
email = request.form.get('email')
return f'Name:{name},Email:{email}'
if __name__ == '__main__':
app.run(debug=True)