完成登录功能,用session记住用户名

登录功能完成:

  1. js:设置return
  2. html:设置
    1. form
    2. input
  3. py:
    1. @app.route设置methods
    2. GET
    3. POST
      1. 读取表单数据
      2. 查询数据库
        1. 用户名密码对:

          1. 记住用户名
          2. 跳转到首页
        2. 用户名密码不对:
          1. 提示相应错误。

session:

  1. 从`flask`中导入`session`
  2. 设置`SECRET_KEY`
  3. 操作字典一样操作`session`:增加用户名`session[‘username‘]=`username
from flask import Flask,render_template,request,redirect,url_for,session
from flask_sqlalchemy import SQLAlchemy
import config

app=Flask(__name__)
app.config.from_object(config)
db=SQLAlchemy(app)

class User(db.Model):
    __tablename__=‘user‘
    id=db.Column(db.Integer,primary_key=TabError,autoincrement=True)
    username=db.Column(db.String(20),nullable=False)
    password=db.Column(db.String(20),nullable=False)
    nickname = db.Column(db.String(20), nullable=True)
# db.create_all()    #是否链接成功

# 数据添加
# user=User(username=‘ma‘,password=‘gg‘)
# db.session.add(user)
# db.session.commit()
#
#
# 数据更新
#
# user = User.query.filter(User.username==‘hh‘).first()
# user.password=‘gg‘
# db.session.commit()
#
#
# 数据查询
# user = User.query.filter(User.username==‘ma‘).first()
# print(user.username,user.password)
#
# 数据删除
# user = User.query.filter(User.username==‘ma‘).first()
# db.session.delete(user)
# db.session.commit()

# session会话连接
# filter()过滤器
# route制定路径和函数之间的关系
# def定义一个变量

@app.route(‘/‘)
def switch():
    return render_template(‘switch.html‘)

@app.route(‘/login/‘,methods=[‘GET‘,‘POST‘])# 跳转登陆,methods定义它有两种请求方式
def login():
    if request.method == ‘GET‘:
      return render_template(‘login.html‘)
    else:
        username = request.form.get(‘user‘)
        password = request.form.get(‘psw‘)
        user = User.query.filter(User.username == username).first()  # 判断用户名是否存在
        if user:
            if user.password==password:
                session[‘username‘] = username
                session.permanent = True
                return   redirect(url_for(‘switch‘))
            else:
                return u‘密码错误‘
        else:
            return u‘用户名不存在‘

@app.route(‘/register/‘,methods=[‘GET‘,‘POST‘])# 跳转注册,methods定义它有两种请求方式
def register():
    if request.method == ‘GET‘:
        return render_template(‘register.html‘)
    else:

        username = request.form.get(‘user‘)
        password = request.form.get(‘psw‘)
        nickname = request.form.get(‘nickname‘)
        user = User.query.filter(User.username == username).first() # 判断用户名是否存在
        if user:
            return u‘该用户已存在‘
        else:
            user = User(username=username,password=password,nickname=nickname)
            db.session.add(user)
            db.session.commit()
            return redirect(url_for(‘login‘))

@app.route(‘/wenda/‘)
def wenda():
    return render_template(‘wenda.html‘)

if __name__ == ‘__main__‘:
    app.run(debug=True)
时间: 2024-08-07 03:14:27

完成登录功能,用session记住用户名的相关文章

Jquery 实现 “下次自动登录” 记住用户名密码功能

转载自:http://blog.csdn.net/aspnet_lyc/article/details/12030039?utm_source=tuicool&utm_medium=referral Jquery将用户名密码存储到cookie中 需要导入jquery.js和jquery.cookie.js <html> <head> <title>test cookie</title> <script src="Scripts/jqu

通过jquery.cookie.js实现记住用户名、密码登录功能

<!doctype html>   <html xmlns="http://www.w3.org/1999/xhtml">   <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <title>无标题文档</title>   <script src="

(转)业务系统实现记住密码和自动登录功能

公司的业务系统本来是受域控的,用户不需要登录可以直接访问系统.当然,虽然不用人工登录,系统本身会读取电脑的用户名为登录标识,对系统操作权限和记录也是以电脑名.近段时间,由于系统要牵到云端,也就是不受域控了,那就需要每人手头上都有账号和密码了,这个和一般的业务系统没什么区别.但是由于用户之前的习惯是不用登录的,而且每天打开关闭的次数较多.OK,一般的系统登录都会有个记住密码的功能,但是,这还满足不了用户的需求,那么我们给用户增加多一个自动登录功能,类似QQ那样,我上次访问勾选了自动登录功能,然后再

java-自动登录 与 记住用户名

步骤分析: 步骤分析: 1.数据库和表 create database day16; use day16; create table user( id int primary key auto_increment, username varchar(20), password varchar(20) ); insert into user values(null,'tom','123'); 2.web项目 jar包 工具类 配置文件 3.新建一个登录页面 表单 4.表单提交 loginservl

登录后记住用户名-JS解决方案

描述:这段时间给公司做个后台管理系统,功能差不错实现了,回过头来吧登录页完善下,刚好碰到了'记住用户名'这个小东西.之前有看过不少代码,都没有太留意这部分,这次自己从头至尾做,那就好好的处理下. 目的:用户在登录的时候勾选"记住我",登录.退出之后,用户再次来到登录页,默认填写上次登录的用户信息. 实现方法:js/jq实现:用到了window.localStorage保存用户登录信息. 扩展:此方案也可保存用户密码,安全性自己估量. 详细: html代码: 1 <form>

cookie技术实现自动登录+cookie中写入中文+记住用户名

结合上次写的cookie技术实现自动登录添加部分功能<tr> <td colspan="2"> <input type="checkbox" name="usernamelogin" id="usernamelogin" value="usernameOk" >记住用户名 <input type="checkbox" name="aut

SharedPreferences实现自动登录记住用户名密码

最近Android项目需要一个自动登录功能,完成之后,特总结一下,此功能依靠SharedPreferences进行实现. SharedPreferences简介 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现

C#如何实现记住密码,自动登录功能?【转载】

如何实现记住密码和自动登录功能? 记住密码功能我是这样实现的:将用户名存入xml文件中,在窗体加载时读取并加入combobox的Items中,然后再在选择items中的某一项时,用combobox.Text做为条件从数据库读取密码(这样做是为了省去为xml文件加密,但不会影响速度!)!这是我自己实验过的,方法有点笨!namespace address_list{    public partial class Addresslist : Form    {        public Addre

jQuery cookie记住用户名密码自动登录

1.导入两个js文件 1).jquery-1.4.js 2).jquery.cookie.js 2.login.jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&