项目思路:
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). 修改功能