一个python Flask 写的登录,退出,装饰器 代码

2018-11-08 14:50:56  阅读 1094 次 评论 0 条

一个python Flask 写的登录,退出,装饰器 代码(当记录下)


# -*- coding:utf-8 -*-

from flask import Flask, request,make_response,render_template, redirect, url_for,jsonify,session

from functools import wraps

from werkzeug.utils import secure_filename 

import os

import commands

from os import path

import socket

import time

import sys

import platform

import psutil

#import pymysql 

reload(sys) 

sys.setdefaultencoding('utf-8')

from config import *  #导入自定义函数

from fetcher import * #导入自定义函数


##定义创建时间

createdate = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

datas = time.strftime('%Y-%m-%d',time.localtime(time.time()))

##new一个对象

app = Flask(__name__)

##设置key

app.secret_key = "1231213"

##登录路由

@app.route('/login',methods=['GET','POST'])

def login():

    if request.method == "GET": #判断如果是get直接返回登录页面

        return render_template('login.html')

    else:

        user = request.form.get('username')

        pwd = request.form.get('password')

        if user == 'admin' and pwd == '123456' #判断账户密码是否正确

            session['user_info'] = user 

            return redirect('/admin') #正确跳转到admin页面

        else:

            return render_template('login.html',msg='用户或密码错误,请重新输入')#如果不正确跳转到登录页面,提示账户密码错误

def login_required(func): #定义登录装饰器

    @wraps(func)

    def wrapper(*args,**kwargs):

        if session.get('user_info'):

            return func(*args,**kwargs)

        else:

            return redirect(url_for('login'))

    return wrapper


##定义退出登录页面路由

@app.route('/logout') 

def logout():

    session.clear() #清除所有session 

    return redirect(url_for('login')) 


##定义我的信息页面路由

@app.route('/me')

def me():

    return '当前用户:' + session['user_info'] + '     ' + '当前时间:' + createdate


##定义首页页面路由

@app.route('/')

def index():

    data1 = [] #定义查询需要存储的list


    sql1 = "select * from vid_prod order by time desc limit 4"  #查询sql语句


    sql_qeue(sql1,data1) #执行查询 sql_qeue 是写好的数据库查询函数


    return render_template("index.html",prod1=data1) #将参数返回给页面



if __name__ == '__main__':

    app.run(host='0.0.0.0',port=8088,debug=True)

    app.run()




QQ截图20181108145820.jpg

本文地址:http://blog.ailinux.net/?id=74
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?