一、介绍

电商购物零碎Python,基于Flask框架实现。
实现用户查看商品、购买商品、增加购物车、商城订单、编辑个人信息、点击喜爱不喜爱等、商品评论、登录注册、查看物流信息等性能。
实现商家公布商品、查看销售列表、治理商品、物流信息更新、个人信息批改等性能。

二、成果展现

三、演示视频

视频+代码:https://www.yuque.com/ziwu/yygu3z/snkqwdm1wwbyfrfs

四、Flask介绍

Flask是一个轻量级的Python Web框架,具备以下特点:

  1. 简洁而灵便:Flask的设计理念是放弃简略和可扩展性。它提供了根本的性能和组件,但没有过多的限度和束缚,让开发者可能依据本人的需要进行灵便的定制和扩大。
  2. 易于学习和应用:Flask的API简略易懂,文档清晰明了,使得初学者可能疾速上手。它没有繁琐的配置,开发者能够依据须要抉择应用的插件和工具,缩小了学习和应用的难度。
  3. 路由和视图解决:Flask应用装璜器机制来定义路由和视图函数,使得编写和治理路由变得简单明了。开发者能够通过装璜器将URL门路与对应的函数关联起来,从而解决不同的申请并返回相应的响应。
  4. 模板引擎反对:Flask集成了Jinja2模板引擎,它能够将动态数据与动态模板文件进行联合,生成最终的HTML页面。模板引擎反对模板继承、条件判断、循环迭代等性能,使得开发者可能更好地组织和治理页面的展现逻辑。
  5. 轻量级而高效:因为Flask的设计简略,它的运行开销绝对较小,能够在资源无限的环境下高效运行。它不依赖于大型的内部库或框架,因而能够更好地管制和优化应用程序的性能。
  6. RESTful反对:Flask对于构建RESTful格调的API提供了良好的反对。通过联合Flask的路由和视图解决机制,开发者能够轻松地创立和治理API端点,实现资源的增删改查操作。
  7. 扩展性和生态系统:Flask提供了丰盛的扩大库和插件,能够不便地集成第三方性能和服务。例如,Flask-SQLAlchemy用于数据库操作,Flask-WTF用于表单验证,Flask-Login用于用户认证等。这些扩大库遵循Flask的设计理念,提供简洁的API和良好的文档。
  8. 社区反对和活跃度:Flask领有宏大而沉闷的开发者社区,提供了大量的文档、教程和示例代码。开发者能够从社区中获取反对和解决问题,也能够奉献本人的扩大和插件,促成了Flask框架的倒退和演进。

上面是一个应用Flask框架实现商城零碎的简略例子:

from flask import Flask, render_template, request, redirectapp = Flask(__name__)# 商品列表products = [    {"id": 1, "name": "商品1", "price": 10},    {"id": 2, "name": "商品2", "price": 20},    {"id": 3, "name": "商品3", "price": 30}]# 购物车cart = []@app.route("/")def index():    return render_template("index.html", products=products, cart=cart)@app.route("/add_to_cart", methods=["POST"])def add_to_cart():    product_id = int(request.form.get("product_id"))    product = next((p for p in products if p["id"] == product_id), None)    if product:        cart.append(product)    return redirect("/")@app.route("/checkout")def checkout():    total_price = sum(product["price"] for product in cart)    return render_template("checkout.html", cart=cart, total_price=total_price)@app.route("/clear_cart")def clear_cart():    cart.clear()    return redirect("/")if __name__ == "__main__":    app.run()

在上述代码中,咱们首先导入了Flask类和其余必要的模块。而后,咱们创立了一个Flask应用程序实例,并定义了两个全局变量products和cart,别离代表商品列表和购物车。
接下来,咱们定义了四个路由处理函数。index()函数解决首页的申请,应用render_template()函数渲染了一个名为index.html的模板,并将商品列表和购物车传递给模板进行展现。
add_to_cart()函数解决增加商品到购物车的申请,从申请中获取商品的ID,并应用列表推导式在商品列表中查找对应的商品。如果找到了对应的商品,就将其增加到购物车,并重定向到首页。
checkout()函数解决结算页面的申请,计算购物车中商品的总价格,并将购物车和总价格传递给checkout.html模板进行展现。
clear_cart()函数解决清空购物车的申请,通过调用clear()办法清空购物车,并重定向到首页。
最初,通过查看__name__是否为__main__,咱们确保脚本作为主程序运行时才启动Flask应用程序。
须要留神的是,上述代码中的路由处理函数应用了@app.route装璜器,这样能够不便地将URL门路与对应的函数关联起来。render_template()函数用于渲染模板文件,request对象用于拜访申请数据,redirect()函数用于重定向到其余URL。