摘要:Python 是一种功能强大且易于学习的编程语言,广泛应用于数据分析、人工智能、Web页面开发等领域。Django 是一个基于Python的功能强大,非常高效的 Web 开发框架,采用 MTV 架构模式(模型-模板-视图),帮助开发者快速构建网站应用。文章详细讲解了 Django 的工作原理和关键技术,如Mysql数据库操作、模板渲染、URL 路由、表单处理和后台管理等知识。并通过一个完整的电商网站开发实例,展示了如何使用 Django 实现商品展示、购物车、订单管理和用户中心等常见功能,覆盖了从模型定义、数据库操作到前端展示的完整开发流程。既适合基础学习,也可助力开发者快速构建功能完善的 Web 项目。
详细内容请查看下文。
一、登录Linux
1.访问Linux系统
2.查看Python和Django版本信息
二、Django是什么
1. Python Django的概念
说明:Django 是一个基于 Python 的高级 Web 框架,专为快速开发功能强大、结构清晰的网站而设计。它内置了大量常用功能(如数据库操作、用户认证、后台管理等),让开发者可以专注于系统的业务逻辑,而不用重复编写各种组件。
2.怎么安装Python Flask
前提:确保电脑已经安装了 Python3版本。
然后执行指令# pip3 install django 安装Django框架。
三、Django有什么用
1.Django与Flask的异同
说明:Django与Flask的重点不同,如果想要做一个电商网站、社交媒体或管理系统,Django 是首选;如果是想做一个小型网站或微服务,Flask 可能更合适。
2. Django 的核心架构
说明:Django 使用的是 MTV 架构模式(Model-Template-View),与常见的 MVC 模式(Model-View-Controller)类似但略有不同。
3. Django 的工作原理
说明:当用户发起请求时,Django 根据 URL 找到对应的视图函数处理请求和业务逻辑,视图函数通过模型与数据库交互获取数据,然后将数据传递给模板生成最终的网页返回给用户。
4. Django 的核心技术
说明:Django 的核心技术概括为通过内置的 ORM(对象关系映射)轻松处理数据库,使用模板引擎动态生成网页内容,借助 URL 路由系统高效管理页面请求,以及提供强大的表单处理和用户认证功能,从而简化了Web开发流程。
(1) ORM(对象关系映射)
说明:ORM 让开发者无需编写复杂的SQL语句,而是通过 Python 对象来操作数据库。
比如:通过语句products = Product.objects.all() 获取所有商品
(2)模板系统(Template)
说明:Django 提供了强大的模板语言,可以嵌入变量、条件判断、循环等。
比如:通过语句<h1>{{ product.name }}</h1> 获取商品名称
(3)表单处理(Form)
说明:Django 可以自动验证表单数据,并生成 HTML 输入框。
比如:通过下述语句可以以表单的形式查商品的名称、价格和详情。
class ProductForm(forms.ModelForm):
class Meta:
model = Product
fields = ['name', 'price', 'description']
(4) URL 路由(URL Dispatcher)
说明:Django通过 urls.py 配置 URL 与视图的对应关系。
比如:可以通过以下语句配置 URL与视图的关系。
urlpatterns = [
path('products/', views.product_list, name='product_list'),
]
(5)管理后台(Admin)
说明:Django 自带一个后台管理系统,只需注册模型即可进行增删改查。
比如:可以通过语句admin.site.register(Product) 注册商品信息。
四、使用Django开发一个简单易用的电商网站
说明:本项目的电商网站应该包含以下四个主要的功能模块,分别为
商品展示、购物车管理、订单提交和用户中心。
1.新建电商项目ecommerce
(1)执行指令django-admin startproject ecommerce新建电商项目
(2)执行以下指令新建电商项目的应用
2.查看电商项目ecommerce的目录结构
3.编写主要文件代码
(1)编写ecommerce/settings.py代码
(2)编写ecommerce/urls.py代码
(3)编写products/models.py代码
(4)编写products/views.py代码
(5)编写
templates/products/list.html页面
(6)编写cart/models.py代码
(7)编写cart/views.py代码
(8)编写cart/urls.py代码
(9)编写templates/cart/cart.html页面
(10)编写orders/models.py代码
(11)编写orders/views.py代码
(12)编写orders/urls.py代码
(13)编写
templates/orders/order_success.html页面
(14)编写users/views.py代码
(15)编写orders/urls.py代码
(16)编写
templates/users/profile.html页面
4.运行商店网站
(1)更改数据库
说明:将项目的默认数据库由SQLite更改为Mysql。
- 安装 MySQL 驱动
说明:Django 默认不支持直接连接 MySQL,需要安装驱动程序。推荐使用 mysqlclient。
- 使用Mysql客户端工具(如 phpMyAdmin、Navicat 等)访问Mysql数据库,执行以下语句创建ecommerce_db数据库,同时创建访问账号ecommerce_user。
- 修改 Django 项目的数据库配置
说明:编辑Django 项目的 settings.py 文件,找到 DATABASES 配置项,如下图
并将其替换为如下内容:
- 删除旧的 SQLite 数据库文件和迁移记录
说明:为了防止冲突,建议执行指令rm -rf db.sqlite3清除旧的 SQLite 数据,同时执行指令find . -path "*/migrations/*.py" -not -name "__init__.py" -delete清理每个应用下的迁移文件(保留 __init__.py)。
- 创建管理员账号
(2)服务端运行系统
(3)客户端访问系统
- 客户端输入地址访问,如下图
- 点击【后台管理】,查看后台管理页面
- 点击【商品列表】,查看商品列表页面
- 点击【购物车】,查看购物车页面
- 点击【订单中心】,查看订单页面
- 点击【用户中心】,查看用户页面