Vue+Flask实现简单的登录验证跳转

文件位置: 输入图片说明

login.html

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Login</title> 6 7 <script type="text/javascript" src="../static/vue.js"></script> 8 <script type="text/javascript" src="../static/axios.js"></script> 9 10</head> 11<body> 12 13<div id="login"> 14 <form action="#" novalidate> 15 <label for="username">Username</label> 16 <input type="text" name="username" id="username" placeholder="Enter your Name" v-model="username"><br> 17 <label for="password">Password</label> 18 <input type="text" name="password" id="password" placeholder="Enter your Password" v-model="password"><br> 19 <br> 20 21 <button type="button" v-on:click="login">Apply</button> 22 </form> 23</div> 24 25 26<script type="text/javascript"> 27 var login = new Vue({ 28 el: '#login', 29 data:{ 30 username: '', 31 password: '' 32 }, 33 methods: { 34 login: function () { 35 axios.post('http://127.0.0.1:5000/login',{ 36 username: this.username, 37 password: this.password 38 }).then(function (response) { 39 console.log(response.status) 40 // 其实是应该走后台路由 41 if(parseInt(response.status) === 200){ 42 window.location.href = 'index' 43 } 44 }).catch(function (error) { 45 console.log(error.response) 46 }) 47 48 } 49 } 50 }) 51</script> 52 53</body> 54</html> 55

index.html

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Index</title> 6</head> 7<body> 8 <h1>Hello,This is Index Page!</h1> 9</body> 10</html> 11

Login.py

1# -*- coding: utf-8 -*- 2 3from flask import Flask, request, session, redirect, url_for, render_template, make_response, jsonify 4app = Flask(__name__) 5 6 7@app.route('/login', methods=('GET', 'POST')) 8def login(): 9 if request.method == 'POST': 10 session['username'] = request.json.get('username') 11 session['password'] = request.json.get('password') 12 # 登录成功,则跳转到index页面 13 return jsonify({'code': 200, 'token': "123456"}) 14 # 登录失败,跳转到当前登录页面 15 return render_template('login.html') 16 17 18@app.route('/index') 19def index(): 20 # 如果用户名和密码都存在,则跳转到index页面,登录成功 21 if 'username' in session and 'password' in session: 22 return render_template('index.html') 23 # 否则,跳转到login页面 24 return redirect(url_for('login')) 25 26 27@app.route('/logout') 28def logout(): 29 session.pop('username', None) 30 session.pop('password', None) 31 return redirect(url_for('login')) 32 33 34# set the secret key. keep this really secret: 35app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT' 36 37 38if __name__ == '__main__': 39 app.run(debug=True)
点赞
收藏

评论区

加载中...

相关推荐

tail

1.1tailf失效情况的重现我们使用tailftmp.test对tmp.test文件进行动态追踪,输出如下:!输入图片说明(https://static.oschina.net/uploads/img/201804/03140352_uKOr.png"在这里输入图片标题")然后我们再开

Fiddle设置iphone抓包

_注意:保证手机和电脑在一个网络上_一,设置Fiddler!输入图片说明(https://static.oschina.net/uploads/img/201707/27100350_ckfa.png"在这里输入图片标题")!输入图片说明(https://static.oschina.net/uploads/img/201707

Intellij idea或者Android Studio实用Live_Templates好用模板整理

Live\_Templates的作用是自动补全代码:自定义补全代码:单例模式:sin!输入图片说明(https://static.oschina.net/uploads/img/201707/17114328_kR84.png"在这里输入图片标题")Templatetext:privatestatic

Canvas

Canvas04柱状图!输入图片说明(https://static.oschina.net/uploads/img/201707/04223024_wxwr.png"在这里输入图片标题")代码如下:<!DOCTYPEhtml<htmllang"zhCN"<head<metacharset"UTF8"<met

PHP中的依赖注入(DI)容器

!输入图片说明(https://static.oschina.net/uploads/img/201806/03164821_lowC.png"在这里输入图片标题")介绍我们已经介绍过了PHP反射API(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fphpcast

Alamofire4.x开源代码分析(一)使用方法

!输入图片说明(https://static.oschina.net/uploads/img/201706/28090437_aIT1.png"在这里输入图片标题")本着了解框架的实现思路和学习Swift的目的开启本系列的博客.本系列参考Alamofire(https://www.oschina.net/action/GoToLink?urlh