Python_Flask 用户注册 用户删除

代码结构

在这里插入图片描述

app.py

from flask import Flask
from apps import create_app

app = create_app()

if __name__ == '__main__':
    app.run()

setting.py

# -*- codeing = utf-8 -*-
# @Time : 2021/8/25 16:04
# @Author : 二帆
# @File : settings.py
# @Software : PyCharm
ENV='development'
DEBUG=True

apps

init.py

# -*- codeing = utf-8 -*-
# @Time : 2021/8/25 16:05
# @Author : 二帆
# @File : __init__.py.py
# @Software : PyCharm
from flask import Flask

import settings
from apps.user.view import user_bp

def create_app():
    app =Flask(__name__,template_folder='../templates',static_folder='../static')    #app是一个核心对象
    app.config.from_object(settings)        #加载配置
    #蓝图

    app.register_blueprint(user_bp)
    print(app.url_map)

    return app

user

model.py

# -*- codeing = utf-8 -*-
# @Time : 2021/8/25 16:54
# @Author : 二帆
# @File : model.py
# @Software : PyCharm
class User:
    def __init__(self,username,password,phone=None):
        self.username = username
        self.password = password
        self.phone = phone

    def __str__(self):
        return self.username

view.py

# -*- codeing = utf-8 -*-
# @Time : 2021/8/25 16:24
# @Author : 二帆
# @File : view.py
# @Software : PyCharm
from flask import Blueprint, request, render_template, redirect

from apps.user.model import User

user_bp = Blueprint('user',__name__)

#列表保存的是一个一个的用户对象
users = []

@user_bp.route('/')
def user_center():
    return render_template('user/show.html',users = users)

@user_bp.route('/register',methods =['GET','POST'])
def register():
    if request.method == 'POST':
        #获取post提交的数据
        username = request.form.get('username')
        phone = request.form.get('phone')
        password = request.form.get('password')
        repassword = request.form.get('repassword')
        if password == repassword:
            #用户名唯一
            for user in users:
                if user.username == username:
                    return render_template('user/register.html',msg = '用户名已存在')
            #创建user对象
            user = User(username,password,phone)
            #添加到用户列表
            users.append(user)
            return redirect('/')


    return render_template('user/register.html')

@user_bp.route('/login',methods =['GET','POST'])
def login():
    return '用户登录'

@user_bp.route('/del')
def del_user():
    #获取你传递的username
    username = request.args.get('username')
    #根据username找到列表中的user对象
    for user in users:
        if user.username == username:
            # 删除user
            users.remove(user)
            return '删除成功'
    else:
        return '删除失败'


@user_bp.route('/logout',methods =['GET','POST'])
def logout():
    return '用户退出'

templates

base.html

user

<!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;
        }
        #head ul li{
            float: left;
            width:100px;
            text-align: center;
            font-size:18px;
            height:50px;
            line-height: 50px;
        }
        #middle{
            height: 600px;
        }
        #footer{
            height: 50px;
            line-height: 50px;
            background-color: darkcyan;
        }
    </style>
    {% 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>
            <li><a href="">图书</a></li>
        </ul>
    </div>
    <div id="middle">
        {% block middle %}
        
        {% endblock %}
    </div>
    <div id="footer"></div>
    {% block myjs %}{% endblock %}
</body>
</html>

register.html

{% extends 'base.html' %}
{% block title %}
    用户注册
{% endblock %}
{% block middle %}
    <p style="color: red">{{ msg }}</p>
    <form action="/register" method="post">
        <p><input type="text" name="username" placeholder="用户名"></p>
        <p><input type="password" name="password" placeholder="密码"></p>
        <p><input type="password" name="repassword" placeholder="确认密码"></p>
        <p><input type="number" name="phone" placeholder="手机号码"></p>
        <p><input type="submit" value="用户注册"></p>
    </form>
{% endblock %}

show.html

{% extends 'base.html' %}
{% block middle %}
    <h1>用户信息</h1>
    <span>当前用户人数是:{{ users | length }}人</span>
    <table border="1" cellspacing="0" width ="60%">
        {% for user in users %}
            <tr>
                <td>{{ loop.index }}</td>
                <td>{{ user.username }}</td>
                <td>{{ user.password }}</td>
                <td>{{ user.phone }}</td>
                <td><a href="">修改</a><a href="javascript:;" onclick="del('{{ user.username}}')"> 删除</a></td>
            </tr>
        {% endfor %}
    </table>
{% endblock %}
{% block myjs%}
    <script>
        function del(username){
            //console.log(username)
            location.href = '/del?username='+username
        }
    </script>
{% endblock %}

总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值