使用不同的模板
后端代码
@app.route('/')
def index():
return render_template('login.html')
@app.route('/login',methods=['POST'])
def login():
username = request.form.get('username')
password = request.form.get('password')
print("用户名:",username)
print("密码:",password)
if username=='haha':
return render_template('haha.html')#使用模板haha
elif username=='hihi':
return render_template('hihi.html')#使用模板hihi
else:
print('查无此人')
return render_template('index.html')
使用重定向
@app.route('/')
def index():
return render_template('login.html')
@app.route('/login',methods=['POST'])
def login():
username = request.form.get('username')
password = request.form.get('password')
print("用户名:",username)
print("密码:",password)
if username=='haha':
return redirect(url_for('haha'))
elif username=='hihi':
return redirect(url_for('hihi'))
else:
print('查无此人')
return render_template('index.html')
@app.route('/haha')
def haha():
return render_template('haha.html')
@app.route('/hihi')
def hihi():
return render_template('hihi.html')
使用模板,登陆之后,路径还是/login。而使用重定向,则路径和模板一致,是/hihi或者是/haha,不过需要注意的是,可能会出现直接通过路径进入到一个页面,那登陆来进行验证的功能就没有意义。这可以设置全局变量来解决。
使用jinja
后端代码
@app.route('/')
def index():
return render_template('index.html', page="login")
@app.route('/login', methods=['POST','GET'])
def login():
username = request.form.get('username')
password = request.form.get('password')
role = request.form.get('role')
if role=='1':
return render_template('index.html', page=1)
elif role=='2':
return render_template('index.html', page=2)
elif role=='3':
return render_template('index.html', page=3)
else:
return render_template('index.html', page="login")
index.html的代码
{% if page=="login" %}
{% include 'login.html' %}
{% elif page==1 %}
{% include '1.html' %}
{% elif page==2 %}
{% include '2.html' %}
{% elif page==3 %}
{% include '3.html' %}
{% endif %}