-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathviews.py
43 lines (37 loc) · 1.44 KB
/
views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# coding=utf-8
from flask import render_template, redirect, url_for, flash
from . import auth
from .forms import UserRegister, UserLogin
from ..main.forms import SearchForm
from ..models import User
from .. import db
from flask_login import login_user, login_required, logout_user
@auth.route('/register', methods=['GET', 'POST'])
def user_register():
form = UserRegister()
if form.validate_on_submit():
user = User(email=form.email.data, username=form.username.data,
password=form.password.data)
db.session.add(user)
db.session.commit()
user.admin()
flash('账号注册成功,现在您可以登录了')
return redirect(url_for('main.user_login'))
return render_template('user/user_register.html', form=form, search=SearchForm())
@auth.route('/login', methods=['GET', 'POST'])
def user_login():
form = UserLogin()
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
if user and user.verify_password(form.password.data):
login_user(user)
flash(u'登录成功')
return redirect(url_for('main.home'))
flash('Invalid username or password.')
return render_template('user/user_login.html', form=form, search=SearchForm())
@auth.route('/logout')
@login_required
def user_logout():
logout_user()
flash('You have been logged out.')
return redirect(url_for('main.home'))