flask制作简易外卖网页(增改删查)

前端

导入flask对象

from flask import Flask, render_template, redirect, request, session
from flask_sqlalchemy import SQLAlchemy

配置

waimai = Flask(__name__)

class Config:
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:nzpyyj262510@localhost:3306/flaskdb?charset=utf8mb4'
    SQLALCHEMY_TRACK_MODIFICATIONS = True

waimai.config.from_object(Config)
db  = SQLAlchemy(waimai)

waimai.secret_key='SOFTWARE'

各种数据导入数据库

class User(db.Model):
    __tablename__ = 'user_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    user_name = db.Column(db.String(100), nullable=True)
    user_password = db.Column(db.String(100), nullable=True)
    zhifu_password=db.Column(db.String(100), nullable=True)

class Shangjia(db.Model):
    __tablename__ = 'Shangjia_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    sj_name = db.Column(db.String(100), nullable=True)
    sj_password = db.Column(db.String(100), nullable=True)

class Guanli(db.Model):
    __tablename__ = 'Guanli_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    gl_name = db.Column(db.String(100), nullable=True)
    gl_password = db.Column(db.String(100), nullable=True)


class Caiping(db.Model):
    __tablename__ = 'Caiping_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    cp_name = db.Column(db.String(100), nullable=True)
    cp_price = db.Column(db.String(100), nullable=True)
    cp_kouwei = db.Column(db.String(100), nullable=True)

class Gouwuche(db.Model):
    __tablename__ = 'Gouwuche_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    gwc_name = db.Column(db.String(100), nullable=True)
    gwc_price = db.Column(db.String(100), nullable=True)
    gwc_kouwei = db.Column(db.String(100), nullable=True)

class Dingdan(db.Model):
    __tablename__ = 'Dingdan_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    dd_name = db.Column(db.String(100), nullable=True)
    dd_price = db.Column(db.String(100), nullable=True)

class Pingjia(db.Model):
    __tablename__ = 'Pingjia_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    pj_name = db.Column(db.String(100), nullable=True)
    pj_price = db.Column(db.String(100), nullable=True)
    pj_kouwei = db.Column(db.String(100), nullable=True)
    pj_pingjia = db.Column(db.String(100), nullable=True)

class Tousu(db.Model):
    __tablename__ = 'Tousu_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=True)
    ts_name = db.Column(db.String(100), nullable=True)
    ts_tousu = db.Column(db.String(100), nullable=True)


db.create_all()

后端

管理员端

@waimai.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        but1 = request.values.get('btn1')
        but2 = request.values.get('btn2')
        but3 = request.values.get('btn3')
        but4 = request.values.get('btn4')
        but5 = request.values.get('btn5')
        but6 = request.values.get('btn6')

        username = request.form.get('username')
        password = request.form.get('password')
        zfpassword=request.form.get('zfpassword')

        reg_name = request.form.get('register_name')
        reg_pwd = request.form.get('register_password')
        reg_zfpwd=request.form.get('register_zfpassword')

        if but2 == 'register_but':
            user = User(user_name=reg_name, user_password=reg_pwd,zhifu_password=reg_zfpwd)
            db.session.add(user)
            db.session.commit()
            return redirect('/admin')
        elif but3 =='register_but':
            shangjia = Shangjia(sj_name=reg_name, sj_password=reg_pwd)
            db.session.add(shangjia)
            db.session.commit()
            return redirect('/admin2')

        elif but6 =='register_but':
            guanli = Guanli(gl_name=reg_name,gl_password=reg_pwd)
            db.session.add(guanli)
            db.session.commit()
            return redirect('/gltousu')

        elif but5 =='login_but':
            dbuser = User.query.filter_by(user_name=username).first()
            if dbuser and username == dbuser.user_name and password == dbuser.user_password:
                session['user_info'] = username
                return redirect('/admin')
            else:
                error = "用户名密码错误!"
                return render_template('login.html', message=error)

        elif but1 =='login_but':
            dbuser = User.query.filter_by(user_name=username).first()
            if dbuser and username==dbuser.user_name and password==dbuser.user_password:
                session['user_info'] = username
                return redirect('/admin')
            else:
                error = "用户名密码错误!"
                return render_template('login.html', message=error)
        else:
            dbuser = Shangjia.query.filter_by(sj_name=username).first()
            if dbuser and username == dbuser.sj_name and password == dbuser.sj_password:
                session['shangjia_info'] = username
                return redirect('/admin2')
            else:
                error = "用户名密码错误!"
                return render_template('login.html', message=error)
    else:
        error = "用户名密码错误!"
        return render_template('login.html', message=error)

管理投诉

@waimai.route('/gltousu', methods=["GET", "POST"])
def gltousu():
    if request.method == 'POST':
        tsname = request.form.get('name')
        tstousu = request.form.get('tousu')
        tstousu = Tousu(ts_name=tsname,ts_tousu=tstousu)
        db.session.add(tstousu)
        db.session.commit()
        return redirect('/login')
    tousus = Tousu.query.filter_by().all()
    return render_template('gltousu.html',tousus=tousus)

删除投诉

@waimai.route('/delete4')
def delete4():
    del_id = request.args.get('id')
    ts = Tousu.query.filter_by(id=int(del_id)).first()
    db.session.delete(ts)
    db.session.commit()
    return redirect('/admin')

更改投诉 

@waimai.route('/change4', methods=["GET", "POST"])
def change4():
    change_id = request.args.get('id')
    print(change_id)
    tousu = Tousu.query.get(int(change_id))

    if request.method == "POST":
        tsname = request.form.get('name')
        tstousu=request.form.get('tousu')

        tousu.ts_name = tsname
        tousu.ts_tousu=tstousu
        db.session.commit()
        return redirect('/admin')

    return render_template('change4.html', tousu=tousu)

客户端

@waimai.route('/admin', methods=['GET', 'POST'])
def admin():
    caipings = Caiping.query.filter_by().all()
    gouwuches=Gouwuche.query.filter_by().all()
    pingjias=Pingjia.query.filter_by().all()
    tousus = Tousu.query.filter_by().all()
    but7 = request.values.get('btn7')
    zfpassword = request.form.get('zfpassword')

    if but7 == 'login_but':
        zfpd = User.query.filter_by(zhifu_password=zfpassword).first()
        if zfpassword == zfpd.zhifu_password:
            session['user_info'] = zfpassword
            return redirect('/dingdan')
        else:
            error = "用户名密码错误!"
            return redirect('/admin')

    return render_template('admin.html',caipings=caipings,gouwuches=gouwuches,pingjias=pingjias,tousus=tousus)

购物车菜品删除

@waimai.route('/delete2')
def delete2():
    del_id = request.args.get('id')
    gwc = Gouwuche.query.filter_by(id=int(del_id)).first()
    db.session.delete(gwc)
    db.session.commit()
    return redirect('/admin')

购物车菜品更改

@waimai.route('/change2', methods=["GET", "POST"])
def change2():
    change_id = request.args.get('id')
    print(change_id)
    gouwuche = Gouwuche.query.get(int(change_id))

    if request.method == "POST":
        gwcname = request.form.get('name')
        gwcprice = request.form.get('price')
        gwckouwei = request.form.get('kouwei')

        gouwuche.gwc_name = gwcname
        gouwuche.gwc_price = int(gwcprice)
        gouwuche.gwc_kouwei = gwckouwei
        db.session.commit()
        return redirect('/admin')

    return render_template('change2.html', gouwuche=gouwuche)

购物车菜品增加

@waimai.route('/addgwc', methods=["GET", "POST"])
def addgwc():
    if request.method == 'POST':
        gwcname = request.form.get('name')
        gwcprice = request.form.get('price')
        gwckouwei = request.form.get('kouwei')
        gouwuche= Gouwuche(gwc_name=gwcname, gwc_price=gwcprice, gwc_kouwei=gwckouwei)
        db.session.add(gouwuche)
        db.session.commit()
        return redirect('/admin')
    return render_template('addgwc.html')

增加评价

@waimai.route('/addpj', methods=["GET", "POST"])
def addpj():
    if request.method == 'POST':
        pjname = request.form.get('name')
        pjprice = request.form.get('price')
        pjkouwei = request.form.get('kouwei')
        pjpingjia=request.form.get('pingjia')
        pjpingjia= Pingjia(pj_name=pjname, pj_price=pjprice, pj_kouwei=pjkouwei,pj_pingjia=pjpingjia)
        db.session.add(pjpingjia)
        db.session.commit()
        return redirect('/admin')
    return render_template('addpj.html')

增加投诉

@waimai.route('/addts', methods=["GET", "POST"])
def addts():
    if request.method == 'POST':
        tsname = request.form.get('name')
        tstousu=request.form.get('tousu')
        tstousu= Tousu(ts_name=tsname,ts_tousu=tstousu)
        db.session.add(tstousu)
        db.session.commit()
        return redirect('/admin')
    return render_template('addts.html')

评价更改 

@waimai.route('/change3', methods=["GET", "POST"])
def change3():
    change_id = request.args.get('id')
    print(change_id)
    pingjia = Pingjia.query.get(int(change_id))

    if request.method == "POST":
        pjname = request.form.get('name')
        pjprice = request.form.get('price')
        pjkouwei = request.form.get('kouwei')
        pjpingjia=request.form.get('pingjia')

        pingjia.pj_name = pjname
        pingjia.pj_price = int(pjprice)
        pingjia.pj_kouwei = pjkouwei
        pingjia.pj_pingjia=pjpingjia
        db.session.commit()
        return redirect('/admin')

    return render_template('change3.html', pingjia=pingjia)

商家端

@waimai.route('/admin2')
def admin2():
    success = f'欢迎商家登陆!'
    caipings = Caiping.query.filter_by().all()
    return render_template('admin2.html',caipings=caipings,message =success)

增加菜品

@waimai.route('/add', methods=["GET", "POST"])
def add():
    if request.method == 'POST':
        cpname = request.form.get('name')
        cpprice = request.form.get('price')
        cpkouwei = request.form.get('kouwei')
        caiping= Caiping(cp_name=cpname, cp_price=cpprice, cp_kouwei=cpkouwei)
        db.session.add(caiping)
        db.session.commit()
        return redirect('/admin2')
    return render_template('add.html')

删除菜品

@waimai.route('/delete')
def delete():
    del_id = request.args.get('id')
    cp = Caiping.query.filter_by(id=int(del_id)).first()
    db.session.delete(cp)
    db.session.commit()
    return redirect('/admin2')

删除评价

@waimai.route('/delete3')
def delete3():
    del_id = request.args.get('id')
    pj = Pingjia.query.filter_by(id=int(del_id)).first()
    db.session.delete(pj)
    db.session.commit()
    return redirect('/admin')

订单管理

@waimai.route('/dingdan', methods=["GET", "POST"])
def dingdan():
    if request.method == 'POST':
        gwcname = request.form.get('name')
        gwcprice = request.form.get('price')
        gwcgouwuche = Gouwuche(gwc_name=gwcname,gwc_price=gwcprice)
        db.session.add(gwcgouwuche)
        db.session.commit()
        return redirect('/admin')
    gouwuches = Gouwuche.query.filter_by().all()
    return render_template('dingdan.html',gouwuches=gouwuches)

更改菜品

@waimai.route('/change', methods=["GET", "POST"])
def change():
    change_id = request.args.get('id')
    print(change_id)
    caiping = Caiping.query.get(int(change_id))

    if request.method == "POST":
        cpname = request.form.get('name')
        cpprice = request.form.get('price')
        cpkouwei = request.form.get('kouwei')

        caiping.cp_name = cpname
        caiping.cp_price = int(cpprice)
        caiping.cp_kouwei = cpkouwei
        db.session.commit()
        return redirect('/admin2')

    return render_template('change.html', caiping=caiping)

 返回与输出

@waimai.route('/')
def index():
    return redirect('/login')


if __name__ == '__main__':
    waimai.run(debug=True)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值