首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用cookie和Flask实现简单登录页面

的步骤如下:

  1. 导入Flask模块和相关依赖:
代码语言:txt
复制
from flask import Flask, render_template, request, make_response
import hashlib
  1. 创建Flask应用:
代码语言:txt
复制
app = Flask(__name__)
  1. 定义登录页面的路由和处理函数:
代码语言:txt
复制
@app.route('/')
def index():
    return render_template('login.html')
  1. 定义登录验证的路由和处理函数:
代码语言:txt
复制
@app.route('/login', methods=['POST'])
def login():
    username = request.form.get('username')
    password = request.form.get('password')

    # 进行登录验证
    if username == 'admin' and password == 'admin':
        # 生成加密的Cookie值
        token = hashlib.sha256(username.encode()).hexdigest()

        # 创建响应对象
        resp = make_response(render_template('dashboard.html', username=username))

        # 设置Cookie
        resp.set_cookie('token', token)

        return resp

    return 'Invalid username or password'
  1. 定义仪表盘页面的路由和处理函数:
代码语言:txt
复制
@app.route('/dashboard')
def dashboard():
    # 获取Cookie中的token值
    token = request.cookies.get('token')

    # 验证token,判断用户是否已登录
    if token == hashlib.sha256('admin'.encode()).hexdigest():
        return render_template('dashboard.html', username='admin')

    return 'Unauthorized'
  1. 创建login.html模板文件(位于templates目录下),实现简单的登录表单:
代码语言:txt
复制
<!DOCTYPE html>
<html>
  <head>
    <title>Login</title>
  </head>
  <body>
    <h2>Login</h2>
    <form action="/login" method="post">
      <label for="username">Username:</label>
      <input type="text" id="username" name="username"><br><br>
      <label for="password">Password:</label>
      <input type="password" id="password" name="password"><br><br>
      <input type="submit" value="Login">
    </form>
  </body>
</html>
  1. 创建dashboard.html模板文件(位于templates目录下),展示登录成功后的仪表盘页面:
代码语言:txt
复制
<!DOCTYPE html>
<html>
  <head>
    <title>Dashboard</title>
  </head>
  <body>
    <h2>Welcome, {{ username }}</h2>
    <p>This is your dashboard.</p>
  </body>
</html>

以上代码实现了一个简单的登录页面,使用Flask作为Web框架,通过Cookie进行用户登录验证。用户输入用户名和密码后,提交表单会触发/login路由的处理函数。处理函数会对用户名和密码进行验证,如果验证通过,则生成一个加密的token作为Cookie的值,并将其设置到响应对象中。登录成功后,用户会被重定向到/dashboard路由,显示仪表盘页面,并通过模板引擎将用户名展示在页面上。在/dashboard页面的处理函数中,会从Cookie中获取token值,并进行验证,以确认用户是否已登录。

腾讯云相关产品推荐:

  • 云服务器(ECS):提供高性能的云服务器实例,用于部署应用程序和网站。
    • 产品链接:https://cloud.tencent.com/product/cvm
  • 云数据库MySQL版:可提供稳定可靠的云数据库服务,适用于各种规模的业务需求。
    • 产品链接:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):提供安全可靠的大规模数据存储和处理服务,适用于图片、音视频、备份归档等场景。
    • 产品链接:https://cloud.tencent.com/product/cos
  • 人工智能平台(AI):集成了多项人工智能能力,包括语音识别、图像识别、自然语言处理等,可用于开发智能应用。
    • 产品链接:https://cloud.tencent.com/product/ai

请注意,上述产品仅作为示例,您可以根据实际需求选择适合的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

共50个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-1
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
共50个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-2
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
共50个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-3
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
共18个视频
动力节点-【CRM客户管理系统】SSM框架项目实战教程-4
动力节点Java培训
这套教程是动力节点最新录制的CRM项目,课程主要针对核心的客户关系管理业务功能进行实现,让你能够深层掌握主流SSM框架、Linux操作系统下部署项目、数据库设计原则和技巧、数据如何通过图表在页面展示、Java对excel文件的处理,学会使用项目管理工具Maven、版本控制工具Git,以及缓存在项目中的运用熟悉前端开发技术及常见的特效等。 通过课程可以了解项目开发流程及项目开发各阶段主要文档及产出物
领券