#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/11/2 20:53
# @Author : zoulixiang
# @Site :
# @File : s2.py
# @Software: PyCharm from flask import Flask,render_template,request,redirect,session,url_for app = Flask(__name__)
#自动重启和检测,调试模式
app.debug = True USERS = {
1:{'name':'z','age':12,'gender':'男','text':'ssssssss'},
2:{'name':'z1','age':13,'gender':'男','text':'xxxxxxxx'},
3:{'name':'z1','age':14,'gender':'女','text':'hhhhhhhh'}
} @app.route('/detail/<int:nid>',methods=['GET'])
def detail(nid):
# 当你登录成功之后,session是有值,有值之后上面每个登录都需要重新判断
user = session.get('user_info')
if not user:
return redirect('/login')
info = USERS.get(nid)
return render_template('detail.html',info=info) @app.route('/index',methods=['GET'])
def index():
#session #当你登录成功之后,session是有值,有值之后上面每个登录都需要重新判断
user = session.get('user_info')
if not user:
#反向生成url
url = url_for('l1')
return redirect(url)
return render_template('index.html',user_dict=USERS) @app.route('/login',methods=['GET','POST'],endpoint='l1') #endpoin 别名
def login():
if request.method == "GET":
return render_template('login.html')
else:
user = request.form.get('user')
pwd = request.form.get('pwd')
if user == 'alex' and pwd == '':
#当你登录成功之后,session是有值,有值之后上面每个登录都需要重新判断
session['user_info'] = user
print(session['user_info'])
return redirect('https://www.baidu.com')
return render_template('login.html',error = '用户名或密码错误') if __name__ == '__main__':
app.run()


2.tmplates目录
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户登录</h1>
<form method="post">
<input type="text" name="user">
<input type="text" name="pwd">
<input type="submit" name="登录">{{error}}
</form> </body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户列表</h1>
<table>
{% for k,v in user_dict.items() %}
<tr>
<td>{{k}}</td>
<td>{{v.name}} {{v['name']}} {{v.get('name')}} </td>
<td><a href="/detail/{{k}}">查看详细</a></td>
</tr>
{% endfor %}
</table> </body>
</html>

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>详细信息</h1>
<div>
{{ info.name }}
{{ info.text }}
</div> </body>
</html>

  

												

最新文章

  1. win10安装blueCFD
  2. SWT布局管理器
  3. sersync2 安装,配置
  4. jQuery的环境配置
  5. IDEA Community(社区版) 使用Maven创建Web工程 并部署tomcat
  6. redis持久化(摘录)
  7. android HttpGet 另开线程获取网络数据问题
  8. 在unity中用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放
  9. NSCalendar 日历类
  10. 《C++ Primer》读书笔记—第二章 变量和基本类型
  11. php判断浏览器是不是IE
  12. Java的selenium代码随笔(7)
  13. LeetCode算法题-Path Sum(Java实现)
  14. Ajax中文乱码的解决
  15. echarts3更新
  16. Docker 使用入门,创建一个Nginx服务器
  17. Want to write a book? Use word count to stay on track
  18. install Mac OS on Vmware
  19. 【微信小程序】---授权登陆---【巷子】
  20. 读书笔记 之 java编程思想3

热门文章

  1. golang 学习笔记 -- struct interface的使用
  2. RabbitMQ系列(二)环境搭建
  3. angularJS 在edge浏览器上传文件,无法主动触发ng-click
  4. Visual Studio Code创建C#项目
  5. 2019 大众书网Java面试笔试题 (含面试题解析)
  6. linux软连接和硬链接(总结)
  7. Django学习之十四:Django ORM继承关系
  8. 安装php源码包内的扩展
  9. Linux服务之DNS介绍
  10. asp.net Server.Transfer