10-案例: 注册登录

项目思路:

        1. 首页展示

                将数据传递给前端模板渲染

        2. 注册用户

                接收前端传递的数据,保存后,重定向到首页

        3. 删除用户

                接收前端传递的用户名,进行删除

        4. 修改用户

                接收前端传递的数据,老名字进行判断,新数据修改数据

项目结构:     

 

构建蓝图:

       (1). apps / user / model.py 增加用户模型
class User:def __init__(self, username, password, phone):self.username = usernameself.password = passwordself.phone = phonedef __str__(self):return self.username
        (2).apps / user / view.py 定义蓝图对象
from flask import Blueprint# 定义蓝图对象
user_bp = Blueprint('user', __name__)# 导入 User模型类
from apps.user.model import User@user_bp.route("/")
def user_center():return "首页"
       (3).apps / __init__.py 创建app,注册蓝图
from flask import Flask
import settings
from apps.user.view import user_bp# 创建app
def create_app():app = Flask(__name__, template_folder="../templates", static_folder="../static")  # app是一个核心对象app.config.from_object(settings)  # 加载配置# 蓝图# 将蓝图对象绑定到app上app.register_blueprint(user_bp)# ...print(app.url_map) # 获取路由信息return app
     (4). app.py 绑定 apps
from apps import create_app# 创建app对象
app = create_app()if __name__ == '__main__':app.run()
   (5). settings.py 全局配置文件
ENV = "development"  # 开发环境
DEBUG = True         # 开启调试模式

编写页面:

(1). base.html: 公共页面模型
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">
{# 预留标头位置 #}<title>{% block title %}用户中心{% endblock %}</title><style>#head {height: 50px;background-color: bisque;}#head ul {list-style: none;height: 50px;display:inline-block;margin-top:3px;}#head ul li {float: left;width: 100px;text-align: center;font-size: 18px;height: 50px;line-height: 50px;}#middle {height: 900px;background-color: aqua;}#foot {height: 50px;line-height: 50px;background-color: darkolivegreen;}</style>
{# 预留css位置 #}{% block mycss %}{% endblock %}</head>
<body><div id="head"><ul><li><a href=""></a>首页</li><li><a href=""></a>订单</li><li><a href=""></a>商品</li><li><a href=""></a>好物</li></ul>
</div><div id="middle">
{# 内容预留位置 #}{% block middle %}{% endblock %}
</div>
<div id="foot"></div></body>
{# 预留js位置 #}
{% block myjs %}{% endblock %}
</html>
(2). 首页展示

 

(3). 注册功能

 

 (4). 删除功能
@user_bp.route("/del")
def del_user():# 获取前端get方式传递的usernameusername = request.args.get('username')# 根据username找到列表中的user对象for user in users:if user.username == username:users.remove(user) # 移除return redirect("/") # 重定向回首页else:return "删除失败"
(5). 修改功能

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/56281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

边写代码边学习之Bidirectional LSTM

1. 什么是Bidirectional LSTM 双向 LSTM (BiLSTM) 是一种主要用于自然语言处理的循环神经网络。 与标准 LSTM 不同&#xff0c;输入是双向流动的&#xff0c;并且它能够利用双方的信息。 它也是一个强大的工具&#xff0c;可以在序列的两个方向上对单词和短语之间的顺序依赖…

react通过ref获取函数子组件实例方法

在react16之后带来了hooks之后&#xff0c;确实方便了很多组件开发&#xff0c;也加快了函数式编程的速度&#xff0c;但是当你通过useRef获取子组件的时候&#xff0c;又恰好子组件是一个函数组件&#xff0c;那么将会报一个错误&#xff1a;报这个错误的主要原因是函数组件没…

数据通信——传输层(UDP)

引言 我们上网观看比赛的时候&#xff0c;一旦网络信号出现问题&#xff0c;那可就太难受了&#xff0c;这意味着卡顿的时间内&#xff0c;你会错过这段时间内的内容。这种特性要归功于UDP&#xff08;User Datagram Protocol&#xff09;用户数据报协议。 无连接性 一般的&am…

第十七课:利用 Setup Factory 制作 Qt 软件安装包

功能描述&#xff1a;详细介绍如何利用 Setup Factory 制作 Qt 软件安装包&#xff0c;从 Setup Factory 软件下载、安装&#xff0c;到如何利用 Setup Factory 制作软件安装包&#xff0c;手把手教你将 Qt 应用程序制作成具有安装向导的安装包。 一、Setup Factory 简介 Setu…

qt信号槽同步问题

目录 信号槽&#xff1a; 注意事项&#xff1a; 具体例子&#xff1a; 线程安全问题的例子&#xff1a; 信号槽&#xff1a; 在Qt编程中&#xff0c;信号&#xff08;Signal&#xff09;和槽&#xff08;Slot&#xff09;是一种用于在对象之间进行通信的机制。信号用于发出…

宇凡微Y51T合封射频芯片,集成433M芯片和MCU

宇凡微推出的Y51T芯片的设计理念很有趣&#xff0c;将MCU和射频芯片集成在一颗芯片内&#xff0c;从而实现高度的集成度和功能优势。这样的设计在某些应用中确实能够带来诸多优点&#xff1a; Y51T将51H MCU和Y4455 433MHz射频芯片融合在一颗芯片内&#xff0c;实现了高度集成的…

Python基础 - 构造函数

目录 基础构造函数 重写 钻石继承 super函数 基础构造函数 命名为_init_&#xff0c;在实例化对象之前会自动执行该函数 构造函数方便我们在实例化对象的时候实现个性化定制 class A():def __init__(self,x,y):self.x xself.y ydef add(self):return self.xself.yclass…

(纯c)数据结构之------>链表(详解)

目录 一. 链表的定义 1.链表的结构. 2.为啥要存在链表及链表的优势. 二. 无头单向链表的常用接口 1.头插\尾插 2.头删\尾删 3.销毁链表/打印链表 4.在pos位置后插入一个值 5.消除pos位置后的值 6.查找链表中的值并且返回它的地址 7.创建一个动态开辟的结点 三.顺序表与链表…

【深度学习】Pytorch训练过程中损失值出现NaN

项目场景 利用Pytorch框架&#xff0c;结合FEDformer开源代码&#xff08;https://github.com/MAZiqing/FEDformer&#xff09;&#xff0c;将自己的数据集作为输入训练模型。 问题描述 训练过程中&#xff0c;发现打印出来的Train loss, Test loss, Test loss中&#xff0c…

性能调优篇 二、Jvm监控及诊断工具-命令行篇

目录 一、概述1、简单命令行工具 二、jps&#xff1a;查看正在运行的Java程序&#xff08;掌握&#xff09;1、是什么&#xff1f;2、测试3、基本语法 三、jstat&#xff1a;查看jvm统计信息&#xff08;掌握&#xff09;1、是什么&#xff1f;2、基本语法3、补充 四、jinfo&am…

MongoDB 双机热备那篇文章是 “毒”

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis &#xff0c;Oracle ,Oceanbase 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加微信号 liuaustin3 &#xff08;…

AI 浪潮下,W3AI 如何增强和激励 Web3 玩家研究和决策力?

更加个性化的 AI 服务是怎样的&#xff1f;近年来&#xff0c;不少主打 AI 服务的 Web3 初创项目开始兴起&#xff0c;凭借语音、文字、图像等全方位的用户数据跟踪和使用习惯定义&#xff0c;场景化的 AI Web3 产品开始围绕用户的工作、生活日常提供智能服务。这其中&#xff…

本质矩阵E推R和T

https://zhuanlan.zhihu.com/p/500798616 https://zhuanlan.zhihu.com/p/435306687

【MySQL系列】Select语句单表查询详解入门(SELECT,AS,模糊查询,运算符,逻辑运算符)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

SCI论文创新思路

SCI论文创新思路 一、 创新的分类1、算法创新2、架构创新3、迁移创新4、思想创新5、方法创新6、组合创新 二、组合创新的必要性三、组合创新的流程四、组合创新举例1、组合创新公式2、生活中的例子3、关于CV的例子4、魔改的方法 一、 创新的分类 1、算法创新 比如提出CNN、LS…

【PHP面试题82】system和exec是用来做什么的?有什么区别

文章目录 &#x1f680;一、前言&#xff0c;PHP中system和exec命令的作用&#x1f680;二、system()函数&#x1f680;三、exec()函数&#x1f680;四、区别和应用场景&#x1f50e;4.1 使用system()函数的应用场景&#x1f50e;4.2 使用exec()函数的应用场景&#x1f50e;4.3…

SpringCloud入门实战(十四)Sentinel微服务流量防卫兵简介

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 &#xff0c;关注我&#xff0c;不迷路 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术…

Linux线程篇(中)

有了之前对线程的初步了解我们学习了什么是线程&#xff0c;线程的原理及其控制。这篇文章将继续讲解关于线程的内容以及重要的知识点。 线程的优缺点&#xff1a; 线程的缺点 在这里我们来谈一谈线程健壮性&#xff1a; 首先我们先思考一个问题&#xff0c;如果一个线程出现…

【官方中文文档】Mybatis-Spring #目录

目录 此页面用于在GitHub上呈现索引。 NOTE: 由于链接目标是在使用maven-site-plugin转换为html的假设下指定的&#xff0c;因此在GitHub上的呈现中有一个锚点已损坏。 简介入门SqlSessionFactoryBean事务使用 SqlSession注入映射器Spring Boot使用 MyBatis APISpring Batch示…

Ubuntu22.04安装中文输入法►由踩坑到上岸版◄

Ubuntu22.04安装中文输入法►由踩坑到上岸版◄ 了解入坑上岸 更新一发&#xff1a;Gedit中文乱码问题的解决 为了方便回忆和记录甚至后面继续重装系统&#xff0c;我还是写一下以便将来用到或参考&#xff5e; 了解 安装Ubuntu22.04&#xff08;截至2023年08月26日11&#xff…