#引用包 from flask.ext.login import LoginManager #登陆管理 #声明login对象 login_manager = LoginManager() #初始化绑定到应用 login_manager.init_app(app) #声明默认视图函数为login,当我们进行@require_login时,如果没登陆会自动跳到该视图函数处理 login_manager.login_view = "login" #当登陆成功后,该函数会自动从会话中存储的用户 ID 重新加载用户对象。它应该接受一个用户的 unicode ID 作为参数,并且返回相应的用户对象。 @login_manager.user_loader def load_user(userid): return User.query.get(int(userid))
from flask.ext.login import UserMixin
from blog2 import db
class User(db.Model, UserMixin):
__tablename__ = 'b_user'
id = db.Column(db.Integer,primary_key=True)
username = db.Column(db.String(10),unique=True)
password = db.Column(db.String(16))
def __init__(self,username,password):
self.username = username
self.password = password
def __repr__(self):
return '<User %r>' % self.username
from flask.ext.login import login_required, login_user, logout_user
from blog2.model.User import User
from blog2.model.Category import Category
import os
from blog2 import app,db
from flask import request,render_template,flash,abort,url_for,redirect,session,Flask,g
@app.route('/')
@login_required
def show_entries():
categorys = Category.query.all()
return render_template('show_entries.html',entries=categorys)
@app.route('/add',methods=['POST'])
@login_required
def add_entry():
#——————————————————————————————————————————————
# 第一版登陆方式
# if not session.get('logged_in'):
# abort(401)
#——————————————————————————————————————————————
title = request.form['title']
content = request.form['text']
category = Category(title,content)
db.session.add(category)
db.session.commit()
flash('New entry was successfully posted')
return redirect(url_for('show_entries'))
@app.route('/login',methods=['GET','POST'])
def login():
error = None
if request.method == 'POST':
user = User.query.filter_by(username=request.form['username']).first()
#——————————————————————————————————————————————————————————————————————————
#第一版登陆方式
# passwd = User.query.filter_by(password=request.form['password']).first()
#
# if user is None:
# error = 'Invalid username'
# elif passwd is None:
# error = 'Invalid password'
# else:
# session['logged_in'] = True
# flash('You were logged in')
# return redirect(url_for('show_entries'))
#——————————————————————————————————————————————————————————————————————————
login_user(user)
flash('Logged in successfully.')
return redirect(url_for('show_entries'))
return render_template('login.html', error=error)
@app.route('/logout')
@login_required
def logout():
#——————————————————————————————————————————————
# 第一版登出方式
# session.pop('logged_in', None)
#——————————————————————————————————————————————
logout_user()
flash('You were logged out')
return redirect(url_for('show_entries'))
{% if current_user.is_authenticated() %}
Hi {{ current_user.name }}!
{% endif %}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有