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

apps—>user----->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('/update',methods = ['POST','GET'],endpoint='update')
def update_user():
    if request.method == 'POST':
        realname = request.form.get('realname')
        username = request.form.get('username')
        password = request.form.get('password')
        phone = request.form.get('phone')
        for user in users:
            if user.username == realname:
                user.username = username
                user.phone = phone
                return '更改成功!'
    else:
        #get 请求
        username = request.args.get('username')
        for user in users:
            if user.username == username:
                return render_template('user/update.html',user=user)

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

apps—>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

templates–>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;
        }
        #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>

templates–>user---->register.html

{% extends 'base.html' %}
{% block title %}
    用户注册
{% endblock %}
{% block middle %}
    <p style="color: red">{{ msg }}</p>
    <form action="{{ url_for('user.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 %}

templates–>user---->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="javascript:;"onclick="update('{{ user.username}}')">修改</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
        }

        //定义一个修改的函数
        function update(username){
            location.href ='/update?username='+username
        }
    </script>
{% endblock %}

templates–>user---->update.html

{% extends 'base.html' %}
{% block title %}
    用户信息修改
{% endblock %}
{% block middle %}
    <h1>用户信息更新</h1>
    <form action="{{ url_for('user.update') }}" method="post" >
        <p><input type="hidden" name="realname" value="{{ user.username }}"></p>
        <p><input type="text" name="username" placeholder="用户名" value="{{ user.username }}"></p>
        <p><input type="password" name="password" placeholder="密码" value="{{ user.password }}" disabled></p>
        <p><input type="number" name="phone" placeholder="手机号码" value="{{  user.phone }}"></p>
        <p><input type="submit" value="用户更新"></p>
    </form>
{% endblock %}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值