博尔塔拉蒙古自治州网站建设_网站建设公司_前端工程师_seo优化
2025/12/16 23:55:07 网站建设 项目流程

文章目录

  • 1. 实战概述
  • 2. 实战步骤
    • 2.1 虚拟环境
      • 2.1.1 创建虚拟环境
      • 2.1.2 激活虚拟环境
    • 2.2 安装Django
      • 2.2.1 安装Django最新版
      • 2.2.2 查看Django版本
    • 2.3 Django创建项目
      • 2.3.1 进入虚拟目录
      • 2.3.2 创建Django项目
      • 2.3.3 运行Django项目
    • 2.4 Django创建应用
      • 2.4.1 创建Djangon应用
      • 2.4.2 查看Django应用结构
    • 2.5 Django视图
      • 2.5.1 Django视图概述
      • 2.5.2 编辑视图文件
    • 2.6 Django路由
      • 2.6.1 Django路由概述
      • 2.6.2 创建子路由文件
      • 2.6.3 编辑主路由文件
      • 2.6.4 运行Django项目
      • 2.6.5 访问会员视图
      • 2.6.6 访问后台管理页面
    • 2.7 Django模板
      • 2.7.1 创建模板目录
      • 2.7.2 创建模板页面
      • 2.7.3 修改视图文件
      • 2.7.4 修改设置
      • 2.7.5 执行数据库迁移
      • 2.7.6 创建超级用户
      • 2.7.7 运行Django项目
      • 2.7.8 访问会员视图
      • 2.7.9 访问后台管理页面
    • 2.8 Django模型
      • 2.8.1 Django模型概述
      • 2.8.2 创建Django模型
      • 2.8.3 SQLite数据库
      • 2.8.4 数据库迁移
      • 2.8.5 查看建表SQL语句
    • 2.9 Django插入数据
      • 2.9.1 进入Python交互式环境
      • 2.9.2 导入Member类
      • 2.9.3 查询Member表
      • 2.9.4 Member表插入多条记录
      • 2.9.5 查询Member表记录
    • 2.10 Django更新数据
    • 2.11 Django删除数据
    • 2.12 Django更新模型
      • 2.12.1 模型里添加字段
      • 2.12.2 做数据库迁移
      • 2.12.3 进入Python交互环境
      • 2.12.4 给空白字段插入数据
      • 2.12.5 查看Member表全部记录
    • 2.13 Django准备模板
      • 2.13.1 创建会员模板页面
      • 2.13.2 修改视图
      • 2.13.3 启动服务器
      • 2.13.4 访问会员模板页面
    • 2.14 Django添加链接到详情页
      • 2.14.1 创建详情页
      • 2.14.2 修改会员模板页面
      • 2.14.3 创建新视图
      • 2.14.3 添加路由
      • 2.14.4 启动服务器
      • 2.14.5 访问会员页面与详情页面
  • 3. 实战总结

1. 实战概述

  • 本实战通过搭建 Django 项目,创建 members 应用,完成虚拟环境配置、模型定义、数据库迁移、数据增删改查、模板渲染及详情页跳转等核心功能,系统演示了 Django Web 开发的完整流程。

2. 实战步骤

2.1 虚拟环境

2.1.1 创建虚拟环境

  • 执行命令:python -m venv myworld
  • 执行命令:tree myworld

2.1.2 激活虚拟环境

  • 执行命令:myworld\Scripts\activate.bat
  • 执行激活批处理文件之后,进入myworld虚拟环境

2.2 安装Django

2.2.1 安装Django最新版

  • 执行命令:pip install django
  • 执行命令:python -m pip install --upgrade pip

2.2.2 查看Django版本

  • 执行命令:django-admin --version,显示版本号:6.0

2.3 Django创建项目

2.3.1 进入虚拟目录

  • 执行命令:cd myworld

2.3.2 创建Django项目

  • 执行命令:django-admin startproject my_tennis_club
  • 执行命令:tree /f my_tennis_club

2.3.3 运行Django项目

  • 执行命令:cd my_tennis_club

  • 执行命令:python manage.py runserver

  • 在浏览器里访问http://localhost:8000

  • 结果说明:该图显示 Django 项目成功启动,访问localhost:8000后出现默认欢迎页面,表明 Django 安装和配置正确。页面提示“安装成功!恭喜!”并说明当前处于调试模式(DEBUG=True),且未配置任何 URL 路由,因此显示默认首页。这标志着开发环境已就绪,可开始创建应用和配置视图。

2.4 Django创建应用

2.4.1 创建Djangon应用

  • 执行命令:python manage.py startapp memebers

2.4.2 查看Django应用结构

  • 执行命令:tree /f members
  • 结果说明:该图展示了 Django 应用members的目录结构,包含核心文件models.py(定义数据模型)、views.py(处理业务逻辑)、urls.py(配置路由)、admin.py(管理后台配置)以及migrations文件夹(存储数据库迁移记录)。结构清晰,符合 Django 项目标准规范,便于开发与维护。
  • 执行命令:type members\views.py
  • 结果说明:该图显示了 Django 应用membersviews.py文件的内容,文件为空(仅包含导入语句和注释),表明尚未定义任何视图函数。from django.shortcuts import render用于在视图中渲染 HTML 模板,当前项目处于初始状态,等待开发者添加具体业务逻辑的视图代码。

2.5 Django视图

2.5.1 Django视图概述

  • Django 视图是 Python 函数,用于接收 HTTP 请求并返回 HTTP 响应,例如 HTML 文档。使用 Django 构建的网页包含多个视图,每个视图承担不同的任务和职责。视图通常放在应用目录下的一个名为 views.py 的文件中。

2.5.2 编辑视图文件

  • 编辑my_tennis_club/members/views.py文件
  • 结果说明:该图展示了 Django 应用中views.py文件的代码,定义了一个名为members的视图函数,接收 HTTP 请求并返回一个包含“Hello Django World”的 HTML 响应。该函数使用HttpResponse返回纯文本内容,是 Django 视图的基本实现方式,用于响应用户请求并展示页面内容。

2.6 Django路由

2.6.1 Django路由概述

  • Django 路由(URLconf)用于将 URL 请求映射到对应的视图函数。通过urls.py文件配置 URL 模式,使用path()re_path()将路径与视图关联。项目主路由包含各应用的子路由,实现模块化管理,确保请求精准分发,是连接用户访问与后端逻辑的关键桥梁。

2.6.2 创建子路由文件

  • 创建my_tennis_club/members/urls.py
  • 代码说明:该代码为 Django 应用members的路由文件urls.py,定义了子应用的 URL 路由规则。通过path('members/', views.members, name='members')/members/路径映射到views.members视图函数,实现请求分发。使用相对导入from . import views提高模块可读性,是 Django 项目中典型的子应用路由配置方式。

2.6.3 编辑主路由文件

  • 编辑my_tennis_club/my_tennis_club/urls.py

  • 代码说明:该代码为 Django 项目的主路由文件urls.py,定义了全局 URL 配置。通过path('', include('members.urls'))将根路径请求转发至members应用的子路由;path('admin/', admin.site.urls)映射到 Django 管理后台。使用include()实现模块化路由管理,结构清晰,便于扩展和维护。

2.6.4 运行Django项目

  • 执行命令:python manage.py runserver

2.6.5 访问会员视图

  • 在浏览器里访问http://localhost:8000/members/

2.6.6 访问后台管理页面

  • 访问http://localhost:8000/admin/login/?next=/admin/

2.7 Django模板

2.7.1 创建模板目录

  • memebers里创建templates目录

2.7.2 创建模板页面

  • tempates里创建welcome.html文件

2.7.3 修改视图文件

  • 修改my_tennis_club/members/views.py文件

2.7.4 修改设置

  • 修改my_tennis_club/my_tennis_club/settings.py文件

2.7.5 执行数据库迁移

  • 执行命令:python manage.py migrate

2.7.6 创建超级用户

  • 执行命令:python manage.py createsuperuser

2.7.7 运行Django项目

  • 执行命令:python manage.py runserver

2.7.8 访问会员视图

  • 在浏览器里访问http://localhost:8000/members/

2.7.9 访问后台管理页面

  • 访问http://localhost:8000/admin/login/?next=/admin/
  • 输入用户名和密码
  • 单击【Log in】按钮

2.8 Django模型

2.8.1 Django模型概述

  • Django 模型(Model)是用于定义应用程序数据结构的 Python 类,每个模型对应数据库中的一张表。通过模型,开发者可以使用 Python 代码操作数据库,而无需直接编写 SQL 语句。Django 自动将模型字段映射为数据库列,并提供强大的 ORM(对象关系映射)功能,实现数据的增删改查。

2.8.2 创建Django模型

  • 编辑members/models.py文件

2.8.3 SQLite数据库

  • 在我们创建 Django 项目时,系统自动生成了一个空的 SQLite 数据库。该数据库位于my_tennis_club项目的根目录下,文件名为db.sqlite3。 默认情况下,Django 项目中定义的所有模型(Model)都会作为数据表创建在这个数据库中。

2.8.4 数据库迁移

  • 执行命令:python manage.py makemigrations members
  • 结果说明:执行python manage.py makemigrations members命令后,Django 为members应用生成了初始迁移文件0001_initial.py,该文件记录了Member模型的结构定义。此操作将模型变更转化为数据库可识别的迁移脚本,为后续应用到数据库做准备,是实现模型与数据库同步的关键步骤。
  • 执行命令:python manage.py migrate
  • 结果说明:执行python manage.py migrate命令后,Django 将所有未应用的迁移(包括 admin、auth、contenttypes、members 等)同步到数据库。其中members.0001_initial成功应用,表示Member模型对应的表已在数据库中创建完成,实现了模型与数据库结构的同步,为后续数据操作奠定了基础。

2.8.5 查看建表SQL语句

  • 执行命令:``
  • 结果说明:执行python manage.py sqlmigrate members 0001命令后,Django 输出了members应用中0001_initial迁移对应的 SQL 语句。该语句展示了创建members_member表的完整结构,包括字段定义(如 id、firstname、lastname、gender、age)和约束条件,帮助开发者理解模型如何映射为数据库表,便于调试和学习。

2.9 Django插入数据

2.9.1 进入Python交互式环境

  • 执行命令:python manage.py shell

2.9.2 导入Member类

  • 执行命令:from members.models import Member

2.9.3 查询Member表

  • 执行命令:Member.objects.all()
  • 结果说明:执行Member.objects.all()返回一个 QuerySet 对象,表示数据库中所有 Member 记录的集合。当前结果为<QuerySet []>,说明数据库中尚未插入任何会员数据,QuerySet 为空。这是 Django ORM 查询的基本用法,用于获取模型的所有实例,后续可通过.create()等方法添加数据。

2.9.4 Member表插入多条记录

  • 执行代码

    member1=Member(firstname='Tobias',lastname='Refsnes',gender='M',age=28)member2=Member(firstname='Linus',lastname='Refsnes',gender='M',age=32)member3=Member(firstname='Lene',lastname='Refsnes',gender='F',age=25)member4=Member(firstname='Stale',lastname='Refsnes',gender='M',age=30)member5=Member(firstname='Jane',lastname='Doe',gender='F',age=22)members_list=[member1,member2,member3,member4,member5]forxinmembers_list:x.save()

2.9.5 查询Member表记录

  • 执行命令:Member.objects.all().values()

  • 执行代码

    formemberinMember.objects.all().values():print(f"姓名:{member['firstname']}{member['lastname']}, 性别:{member['gender']}, 年龄:{member['age']}")

2.10 Django更新数据

  • 执行命令:rec3 = Member.objects.all()[2],获取第3条记录

  • 执行命令:rec3.id, rec3.firstname, rec3.lastname, rec3.gender, rec3.age

  • 执行命代码

    rec3.firstname='Black'rec3.lastname='Smith'rec3.gender='M'rec3.age=53rec3.save()

  • 执行命令:Member.objects.all().values()

  • 执行命令:Member.objects.all().values()[2]

2.11 Django删除数据

  • 执行命令:rec5 = Member.objects.all()[4],获取第5条记录
  • 执行命令:rec5.delete(),删除第5条记录
  • 执行命令:Member.objects.all().values(),查不到第5条记录了~

2.12 Django更新模型

2.12.1 模型里添加字段

  • 修改my_tennis_club/members/models.py文件

2.12.2 做数据库迁移

  • 执行命令:python manage.py makemigrations members
  • 执行命令:python manage.py migrate

2.12.3 进入Python交互环境

  • 执行命令:python manage.py shell
  • 执行命令:from members.models import Member

2.12.4 给空白字段插入数据

  • 执行代码

    member1=Member.objects.all()[0]member1.phone=15890901234member1.joined_date='2024-05-01'member1.save()member2=Member.objects.all()[1]member2.phone=13987654321member2.joined_date='2024-06-10'member2.save()member3=Member.objects.all()[2]member3.phone=13612345678member3.joined_date='2024-07-20'member3.save()member4=Member.objects.all()[3]member4.phone=15098765432member4.joined_date='2024-08-15'member4.save()

2.12.5 查看Member表全部记录

  • 执行代码

    formemberinMember.objects.all().values():...print(member)

2.13 Django准备模板

2.13.1 创建会员模板页面

  • 创建my_tennis_club/members/templates/all_members.html文件

  • 代码说明:该模板文件all_members.html用于在网页中展示会员列表。通过 Django 模板语法{% for member in mymembers %}遍历传入的会员数据,并使用{{ member.firstname }}{{ member.lastname }}输出姓名,生成无序列表。页面设置浅色背景,结构清晰,便于在视图中渲染动态内容。

2.13.2 修改视图

  • 修改my_tennis_club/members/views.py文件

2.13.3 启动服务器

  • 执行命令:python manage.py runserver

2.13.4 访问会员模板页面

  • 访问http://localhost:8000/members/

2.14 Django添加链接到详情页

2.14.1 创建详情页

  • 创建my_tennis_club/members/templates/details.html文件

2.14.2 修改会员模板页面

  • 修改my_tennis_club/members/templates/all_members.html文件

2.14.3 创建新视图

  • 修改my_tennis_club/members/views.py文件,添加视图函数details(request, id)

2.14.3 添加路由

  • 修改my_tennis_club/members/urls.py文件

2.14.4 启动服务器

  • 执行命令:python manage.py runserver

2.14.5 访问会员页面与详情页面

  • 访问http://localhost:8000/members/
  • 单击【Black Smith】超链接,查看Black Smith详情页
  • 单击【Members】超链接,返回会员页面

3. 实战总结

  • 本次实战全面覆盖 Django 开发的关键环节:从创建虚拟环境和项目结构,到定义 Member 模型并同步至 SQLite 数据库;通过 ORM 实现数据的插入、更新与删除;利用模板系统动态渲染会员列表,并添加超链接跳转至详情页。过程中掌握了 views、urls、templates 的协作机制,理解了 MTV(Model-Template-View)架构的实际应用。整个流程体现了 Django “快速开发、DRY 原则、组件解耦”的优势,为构建更复杂的 Web 应用奠定了坚实基础。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询