from urllib import request
from flask import Flask, render_template, request, redirect, url_for, render_template, redirect, jsonify
coding="utf-8"
import mysql.connector
# 创建数据库连接
try:
db = mysql.connector.connect(
charset='utf8mb4',
host="localhost",
user="sang",
password="root",
database="study"
)
print("数据库连接成功!")
except mysql.connector as err:
print(f"连接失败{err}")
app = Flask(__name__)
students = [
{'name': '张小明', 'chinese': 92, 'math': 88, 'english': 85, 'physics': 90, 'chemistry': 87},
{'name': '李小红', 'chinese': 88, 'math': 95, 'english': 92, 'physics': 86, 'chemistry': 90},
{'name': '王大华', 'chinese': 78, 'math': 82, 'english': 75, 'physics': 80, 'chemistry': 77},
{'name': '刘美丽', 'chinese': 95, 'math': 90, 'english': 93, 'physics': 91, 'chemistry': 94},
{'name': '陈志强', 'chinese': 65, 'math': 70, 'english': 68, 'physics': 72, 'chemistry': 66},
{'name': '赵晓燕', 'chinese': 85, 'math': 78, 'english': 82, 'physics': 79, 'chemistry': 83},
{'name': '孙建国', 'chinese': 72, 'math': 75, 'english': 70, 'physics': 74, 'chemistry': 71},
{'name': '周雨桐', 'chinese': 98, 'math': 96, 'english': 94, 'physics': 97, 'chemistry': 95},
]
name = 'admin'
password = '123456'
@app.route('/', methods=['GET', 'POST'])
def hello_world():
error= None
if request.method == 'POST':
newname = request.form['username']
newwd = request.form['password']
if newname == name and newwd == password:
return redirect(url_for('admin_view'))
else:
error = '用户名或密码错误!'
return render_template("index.html", error=error)
@app.route('/admin')
def admin_view():
return render_template('admin.html', students=students)
# 删除
@app.route('/admin', methods=['POST'])
def delete_student(student_id, db=None, student=None):
try:
# 在这里执行删除操作
db.session.delete(student)
db.session.commit()
return jsonify({'success': True})
except:
return jsonify({'success': False, 'message': '删除失败'})
#增加
@app.route('/add', methods=['GET','POST'])
def add():
if request.method == 'POST':
name = request.form['name']
chinese = request.form['chinese']
math = request.form['math']
english = request.form['english']
physics = request.form['physics']
chemistry = request.form['chemistry']
students.append({
'name': name, 'chinese':chinese, 'math':math, 'english': english, 'physics':physics, 'chemistry': chemistry
})
return render_template('admin.html')
else:
return "添加失败"
return render_template('add.html')
if __name__ == '__main__':
app.run(debug=True)
出现FLASK_APP = app.py
FLASK_ENV = development
FLASK_DEBUG = 0
In folder C:/Users/34943/PycharmProjects/flaskProject
C:\Users\34943\PycharmProjects\flaskProject\.venv\Scripts\python.exe -m flask run
* Serving Flask app 'app.py' (lazy loading)
* Environment: development
* Debug mode: off
Traceback (most recent call last):
File "C:\Users\34943\PycharmProjects\flaskProject\app.py", line 14, in <module>
database="study"
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\mysql\connector\__init__.py", line 273, in connect
return MySQLConnection(*args, **kwargs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\mysql\connector\connection.py", line 114, in __init__
self.connect(**kwargs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\mysql\connector\abstracts.py", line 1009, in connect
self._open_connection()
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\mysql\connector\connection.py", line 422, in _open_connection
self._ssl, self._conn_attrs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\mysql\connector\connection.py", line 230, in _do_auth
self._auth_switch_request(username, password)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\mysql\connector\connection.py", line 377, in _auth_switch_request
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'sang'@'localhost' (using password: YES)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\34943\AppData\Local\Programs\Python\Python36\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\34943\AppData\Local\Programs\Python\Python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\__main__.py", line 3, in <module>
main()
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 995, in main
cli.main(args=sys.argv[1:])
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 601, in main
return super().main(*args, **kwargs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\click\core.py", line 1053, in main
rv = self.invoke(ctx)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\click\core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\click\core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\click\core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\click\decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\click\core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 850, in run_command
app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 325, in __init__
self._load_unlocked()
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 351, in _load_unlocked
self._app = rv = self.loader()
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 407, in load_app
app = locate_app(self, import_name, name)
File "C:\Users\34943\PycharmProjects\flaskProject\.venv\lib\site-packages\flask\cli.py", line 260, in locate_app
__import__(module_name)
File "C:\Users\34943\PycharmProjects\flaskProject\app.py", line 17, in <module>
except mysql.connector as err:
TypeError: catching classes that do not inherit from BaseException is not allowed
Process finished with exit code 1
最新发布