摘要: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。
说明:Django 默认不支持直接连接 MySQL,需要安装驱动程序。推荐使用 mysqlclient。


说明:编辑Django 项目的 settings.py 文件,找到 DATABASES 配置项,如下图

并将其替换为如下内容:

说明:为了防止冲突,提议执行指令rm -rf db.sqlite3清除旧的 SQLite 数据,同时执行指令find . -path "*/migrations/*.py" -not -name "__init__.py" -delete清理每个应用下的迁移文件(保留 __init__.py)。

(2)服务端运行系统

(3)客户端访问系统





