首页 > 编程语言 >一个基于Flask框架的Python Web应用程序

一个基于Flask框架的Python Web应用程序

时间:2024-07-06 13:56:55浏览次数:10  
标签:Web hash users 文件 Python Flask json import password

dashboard.py主要实现了以下功能:

1.用户注册与登录:提供了用户注册和登录的功能,用户的密码会被哈希处理后存储在users.json文件中。
2.文件管理:实现了简单的文件管理功能,包括列出文件夹中的文件、上传文件和删除文件。只有管理员用户才能进行文件管理操作。
3,路由定义:定义了几个路由,包括首页(/)、登录页面(/login)、注册页面(/register)、仪表盘(/dashboard)和文件管理页面(/file_management/<folder_name>)。
4.环境设置:设置了Flask的环境变量FLASK_ENV为production,这意味着Flask应用将以生产模式运行。
首先引用库

import os
os.environ['FLASK_ENV'] = 'production'
from flask import Flask, render_template, redirect, url_for, request
from werkzeug.security import generate_password_hash, check_password_hash
import json
import webbrowser

之后就是创建登录等等,具体代码在后面,青霞后面查看

这里还缺少users.json文件和.html文件需要补充,同时同时,你需要准备一些HTML模板文件放在templates文件夹中,以及任何静态文件放在static文件夹中,这些文件对应于视图函数中使用的render_template调用

以下为dashboard.py的代码:

import os
os.environ['FLASK_ENV'] = 'production'
from flask import Flask, render_template, redirect, url_for, request
from werkzeug.security import generate_password_hash, check_password_hash
import json
import webbrowser

# 创建文件夹
folders = ['一级文件', '二级文件', '三级文件', '四级文件', 'PDF 文件']
for folder in folders:
    if not os.path.exists(folder):
        os.makedirs(folder)

# 创建 Flask 应用实例
app = Flask(__name__, template_folder='templates', static_folder='static')

# 尝试加载已有的用户数据
try:
    with open('users.json', 'r') as f:
        users = json.load(f)
except FileNotFoundError:
    print("users.json 文件未找到,请确保该文件存在于当前目录中。")
    users = [{
   'username': 'admin', 'password_hash': generate_password_hash('123456'), 'is_admin': True}]  # 使用哈希存储密码
except json.JSONDecodeError:
    print("users.json 文件格式不正确,请确保该文件包含有效的 JSON 数据。")
    users = [{
   'username': 'admin', 'password_hash': generate_password_hash('123456'), 'is_admin': True}]  # 使用哈希存储密码
max_users = 11

def register(username, password):
    """
    注册新用户

    参数:
    username (str):用户名
    password (str):密码

    返回:
    bool:注册成功则返回 True,否则返回 False
    """
    if len(users) < max_users:
        password_hash = generate_password_hash(password)  # 计算密码哈希值
        users.append

标签:Web,hash,users,文件,Python,Flask,json,import,password
From: https://blog.csdn.net/weixin_54366286/article/details/140228159

相关文章

  • 【python数据挖掘案列】利用线性回归(LR)实现天气变化的时间序列预测
    利用线性回归实现天气变化的时间序列预测一、引言天气预测一直是气象学和机器学习领域的重要研究内容。时间序列预测是其中的一种常见任务,旨在通过分析历史数据来预测未来的天气情况。在本文中,我们将使用线性回归模型来实现天气变化的时间序列预测,并介绍整个预测流程。二......
  • python 基于函数的API设计,理解接口与实现分离
    在Python中,基于函数的API设计中实现接口与实现分离是一种良好的编程实践,它可以提高代码的可维护性、可扩展性和可读性。接口:可以理解为一组定义好的函数签名,这些函数签名描述了函数的名称、参数以及返回值的类型,但不包含具体的实现逻辑。实现:则是针对接口中定义的函数......
  • python绘制一维离散点
    在Python中,绘制一维离散点通常意味着我们要在一条直线上标记出几个特定的点。这可以通过多种库来实现,但最常见和强大的库之一是matplotlib。以下是一个详细的代码示例,它展示了如何使用matplotlib库来绘制一维离散点,并且这个示例具有一定的参考价值和实际意义。1.绘制一维离散点......
  • 【模块二】Python进阶
    函数基础函数的本质就是一功能代码块组织在一个函数名下,可以反复调用1.去重函数可以减少代码的重复性。通过将重复的代码逻辑封装成函数。可以避免再不同的地方重复编写相同的代码**2.解耦**函数对代码的组织结构化可以将代码分成逻辑上独立的模块,提高代码的可读性和可维护......
  • 【模块三】Python高级
    面向对象基础类和对象概念面向对象编程(Object-OrientedProgramming,简称OOP)是一种编程范式。类是人们抽象出来的一个概念,所有拥有相同属性和功能的事物称为一个类;而拥有相同属性和功能的具体事物则成为这个类的实例对象。面向对象编程提供了一种从现实世界中抽象出概念和实体......
  • python绘制一维离散点
    在Python中,绘制一维离散点通常意味着我们要在一条直线上标记出几个特定的点。这可以通过多种库来实现,但最常见和强大的库之一是matplotlib。以下是一个详细的代码示例,它展示了如何使用matplotlib库来绘制一维离散点,并且这个示例具有一定的参考价值和实际意义。1.绘制一维离散......
  • 2.7 在Windows系统下载、安装、汉化、配置搭建PyCharm集成开发环境(IDE)——《跟老吕学P
    2.7在Windows系统下载、安装、汉化、配置搭建PyCharm集成开发环境(IDE)——《跟老吕学Python》在Windows系统下载、安装、汉化、配置搭建PyCharm集成开发环境(IDE)一、PyCharm系统要求二、下载PyCharm1.访问PyCharm官网2.转入PyCharm主页3.选择版本4.转入版本下载页面......
  • python 进阶教程--matplotlib
    matplotlib3.1安装配置3.2Matplotlib快速入门3.3图形绘制线图散点图条形图饼图3.4风格样式使用内置样式创建自定义样式临时使用样式3.1安装配置Matplotlib是一个用于创建高质量图表的Python绘图库。在开始使用Matplotlib之前,需要先安装它。以下是安装......
  • 如何用python计算不定积分
    在Python中,计算不定积分(即原函数或反导数)可以通过SymPy库实现。SymPy是一个用于符号数学的Python库,支持许多类型的数学对象,包括整数、有理数、实数、复数、函数、极限、积分、微分、方程、几何等。1.示例一:使用SymPy库来计算不定积分以下是一个使用SymPy库来计算不定积分的详细......
  • 【Dison夏令营 Day 10】如何为 Python 游戏添加音效
    音效可以为游戏中的动作和事件提供音频反馈,从而大大增强游戏体验。在本教程中,我们将学习如何使用Pygame库为Python游戏添加音效。安装和设置开始之前,请确保已安装Python和Pygame。如果尚未安装Pygame,可以使用pip进行安装:pipinstallpygame基本功能让我们先......