from flask import render_template, redirect, request, url_for, flash
from .forms import LoginForm
from ..models import User
@auth.route('/login', methods=['GET', 'POST'])
def login():
#从forms.py中导入刚刚建好的 LoginForm()
form = LoginForm()
#【你要的答案在这里,当用户提交表单后会执行下列语句】
if form.validate_on_submit():
#用form.xxx.data即可获取数据,这里使用了form.email.data获取了用户输入的email进行查询
user = User.query.filter_by(email=form.email.data).first()
#如果查询到用户并且密码正确的话
if user is not None and user.verify_password(form.password.data):
#登陆用户,并重定向到之前的页面或主页
login_user(user, form.remember_me.data)
return redirect(request.args.get('next') or url_for('main.index'))
#否则提示用户用户名不对或密码不对
flash('Invalid username or password.')
#!!!这里要注意,第一次用户开进这个登陆界面的时候是直接执行下面这条语句的,要注意把form传入,jinja2才可以对表单进行渲染。
return render_template('auth/login.html', form=form)
謝邀。直接用視圖函數的參數就好了。
http://flask.pocoo.org/docs/0...
謝邀,這裡提供一種思路,使用
flask_wtf
來進行前後端表單交互,入門可以看http://flask123.sinaapp.com/a...
這裡舉一個簡單的登陸範例:
首先要在後端構造表單,在
forms.py
中定義:那麼如何把這個表單放到網頁上呢?我們先來看
login.html
吧:那麼
login.html
中的form
是哪里来的呢?让我们来看路由views.py
中的form
是哪裡來的呢?讓我們來看看路由views.py
同樣還是《Flask Web開發:基於Python的Web應用開發實戰》這本書裡的內容,今天又複習了一下~哈哈,所以樓主想學Flask的話還是推薦看看這本書哦~ 有什麼問題也歡迎繼續提問,謝謝~~
使用request上下文