0


(二)Flask快速上手之用户管理系统

  • 空讲理论知识记忆不深刻,所以简单的用户管理系统项目带领大家快速直接使用Flask,用的都是很简单的技术点,重点是session的使用,先知道怎么用(因为使用很简单方便),后续会慢慢剖析Flask源码,带大家把Flask扒开看看!!!

一、前置知识栈:

(1)Flask中使用session

在 Flask 中,Session(会话)是一种用于在不同请求之间存储和传递数据的机制。它允许您在用户访问网站时跟踪和存储用户特定的信息。Session 对象在 Flask 中使用 session 进行访问。

要使用 Session 功能,需要使用 Flask 的 session 模块,并设置一个密钥,以便对会话数据进行加密和解密。

需要注意的是,在Flask中,会话数据即session默认加密后存储在客户端的 cookie 中(而Django则是直接存储在数据库中)。您可以在 Flask 配置中设置 SESSION_TYPE 参数为 “filesystem” 或 “redis” 等值,来将会话数据存储在服务器端,以提高安全性和可扩展性。

总结起来,Flask 的会话功能可以在不同请求之间共享和存储用户特定的数据,从而实现用户认证、个性化设置等功能。

(2)Flask的模板引擎

Flask 使用 Jinja2 作为其默认的模板引擎。Jinja2 是一个功能强大且灵活的模板引擎,用于在 Flask 应用程序中渲染动态 HTML 页面。

要在 Flask 中使用 Jinja2 模板,您需要先创建一个包含模板文件的目录。通过将模板文件放置在templates目录中,Flask 将能够自动找到并加载这些模板。

二、Flask快速上手之用户管理系统

  • 项目很简单很简单,大家直接CV到本地跑一下,访问下那些接口会更好!

项目目录结构:

在这里插入图片描述

main.py文件:

from flask import Flask, render_template, request, redirect, session

app = Flask(__name__)# 创建一个 Flask 应用程序的实例# 设置密钥,用于对会话数据进行加密和解密
app.secret_key ='GuHanZheIsCool'
app.debug =True# 模拟数据库
USER_DICT ={'1':{'name':'小张','age':18},'2':{'name':'小王','age':28},'3':{'name':'小红','age':38},}@app.route('/login', methods=['GET','POST'])deflogin():if request.method =='GET':return render_template('login.html')
    user = request.form.get('user')
    pwd = request.form.get('pwd')if user =='孤寒者'and pwd =='123':# 将数据存储到会话中             默认情况下:django的session放数据库;flask的session加密后放浏览器cookie中
        session['user_info']= user
        return redirect('/index')else:# 下面这两种都能给前端模板传参数msgreturn render_template('login.html', msg='用户名或密码错误')# return render_template('login.html', **{'msg': '用户名或密码错误'})@app.route('/index')defindex():# 从会话中获取数据
    user_info = session.get('user_info')ifnot user_info:return redirect('/login')return render_template('index.html', user_dict=USER_DICT)@app.route('/detail')defdetail():
    user_info = session.get('user_info')ifnot user_info:return redirect('/login')

    uid = request.args.get('uid')
    info = USER_DICT.get(uid)return render_template('detail.html', info=info)@app.route('/logout')deflogout():del session['user_info']return redirect('/login')if __name__ =='__main__':
    app.run('localhost',4000)

index.html文件:

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><ul>
    {% for k, v in user_dict.items() %}
        <li>{{ v.name }} <ahref="/detail?uid={{ k }}">查看详细</a></li>
    {% endfor %}
  </ul></body></html>

login.html文件:

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>登录系统-用户登录</title></head><body><h1>登录</h1><formmethod="post"><inputtype="text"name="user"><inputtype="password"name="pwd"><inputtype="submit"value="提交">  {{ msg }}
    </form></body></html>

detail.html文件:

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>用户详情页</title></head><body><h1>详细信息:</h1><div>{{ info.name }}</div><div>{{ info.age }}</div></body></html>
标签: flask 数据库 python

本文转载自: https://blog.csdn.net/qq_44907926/article/details/131446859
版权归原作者 孤寒者 所有, 如有侵权,请联系我们删除。

“(二)Flask快速上手之用户管理系统”的评论:

还没有评论