1.跳转到html(传参):
return render_template("header.html",message=message)
2.跳转到视图方法:
return redirect(url_for("monitor.updateinfo",id=id))
(需要用上url_for)
(这里的“monitor.updateinfo” 为 蓝图名.方法名)
3.前端跳转方法:
<a href="{{ url_for("shop.goumai",id=result[0]) }}" >
4.后端传数据到前端:
{% for result in results %} {{ result[4] }} {% endfor %}
{% if message %} {{message}} {% endif %}
5.路由:
@monitor.route("/monitor_addinfo",methods=["GET","POST"])
6.蓝图:
monitor=Blueprint("monitor",__name__)
(主端口要注册蓝图)
app.register_blueprint(monitor)
7.session会话:
session["id"]=result1[0][0]
id=session.get("id")
session.clear()
8.装饰器:
def zhuangshi(view_func):
@functools.wraps(view_func)
def wrapper(*args,**kwargs):
id=session.get("id")
if id is not None:
return view_func(*args,**kwargs) #跳转到当前方法
else:
return render_template("login.html") #跳转到其他页面
return wrapper
9.数据库:
数据库连接:
conn = pymysql.connect(
host="127.0.0.1",
port=3306,
user='root',
password='123456',
database='flask'
)
sql语句:
sql = "SELECT * FROM objects where id=%s"
result = cursor.execute(sql,(id))
results = cursor.fetchall()
当对数据库有变动时:如 删除 修改 添加 需加上如下:
conn.begin()
conn.commit()
10.路径问题:
<img src="../static/images/2.jpg" alt="">
11.表单:
前端:
<form action="/login" method="post">
<div class="login-field">
<span style="color: aqua;">账号</span>
<input type="text" name="username" required=""/>
</div>
<div class="login-field">
<spqn style="color: aqua; ">密码</spqn>
<input type="password" name="password" required=""/>
</div>
{% if message %} {{message}} {% endif %}
<input type="submit" value="点击进入" id="myloginlabel">
后端:
(methods处需要表明,post则request.form,get则args)
@user.route('/login',methods=["GET","POST"])
def login():
print(1111)
if request.method == 'POST': # 注册发送的请求为POST请求
username = request.form.get("username")
password = request.form.get("password")
12.其他:
(这里运用到一个前端打开文件夹 传入文件 后端接受文件 并收入编译器中)
前端:
<form action="/monitor_addinfo" method="post" enctype="multipart/form-data">
<input type="file" name="src" placeholder="请输入用户头像">
后端:
file=request.files.get("src")
file.save("static/images/"+file.filename)
src = "/static/images/"+file.filename