当前位置: 首页 > news >正文

PYTHON从入门到实践-18Django从零开始构建Web应用

Django是一个高级Python Web框架,它鼓励快速开发和干净、实用的设计。本文将带你快速入门Django,通过实际代码示例讲解Django的基本概念和核心功能。

一、Django安装与项目创建

首先,我们需要安装Django:

pip install django

安装完成后,可以通过以下命令创建一个新的Django项目:

django-admin startproject DjangoProject
cd DjangoProject

二、创建应用

Django项目由多个应用组成。让我们创建两个应用:

python manage.py startapp book
python manage.py startapp movie

三、URL路由与视图基础

1. 基本URL配置

DjangoProject/urls.py中,我们可以配置基本的URL路由:

from django.contrib import admin
from django.urls import path
from django.shortcuts import HttpResponsedef index(request):return HttpResponse("欢迎来到我的课堂")urlpatterns = [path('admin/', admin.site.urls),path("index", index, name="index"),
]

这段代码定义了两个路由:

  • /admin/:Django自带的管理后台

  • /index:指向我们自定义的index视图

2. 应用专属URL配置

更好的做法是为每个应用创建独立的URL配置。首先在book/views.py中创建视图:

from django.shortcuts import HttpResponsedef book_detail_query_string(request):book_id = request.GET.get('id')return HttpResponse(f"您查找的图书id是:{book_id}")

然后在项目的主URL配置中包含它:

from django.contrib import admin
from django.urls import path
from book import views as book_viewsurlpatterns = [path('admin/', admin.site.urls),path("book", book_views.book_detail_query_string),
]

四、两种URL参数传递方式

Django支持两种主要的URL参数传递方式:

1. 查询字符串方式

# 视图函数
def book_detail_query_string(request):book_id = request.GET.get('id')return HttpResponse(f"您通过字符赋值查找的图书id是:{book_id}")# URL配置
path("book", book_views.book_detail_query_string)

访问示例:/book?id=123

2. 路径参数方式

# 视图函数
def book_detail_path(request, book_id):return HttpResponse(f"您通过路径查找的图书id是:{book_id}")# URL配置
path("book/<int:book_id>", book_views.book_detail_path)

访问示例:/book/123

五、path函数详解

path()函数是Django URL配置的核心,其基本语法为:

path(route, view, kwargs=None, name=None)

参数说明:

  • route:匹配URL的字符串,可以包含转换器(如<int:book_id>

  • view:当匹配到URL时调用的视图函数

  • kwargs:传递给视图函数的额外关键字参数

  • name:为URL命名,方便在模板中引用

常用路径转换器:

  • str:匹配任何非空字符串(默认)

  • int:匹配零或任何正整数

  • slug:匹配ASCII字母、数字、连字符和下划线组成的字符串

  • uuid:匹配格式化的UUID

  • path:匹配任何非空字符串,包括路径分隔符'/'

六、最佳实践建议

  1. 项目与应用分离:将不同功能模块拆分到不同应用中

  2. URL命名:为每个URL模式命名,便于后续维护

  3. 视图函数组织:将相关视图函数组织在同一个模块中

  4. URL参数验证:在视图函数中对参数进行验证

结语

本文介绍了Django的基础知识,包括安装、项目创建、应用创建、URL路由配置和参数传递。这些是Django开发的基石,掌握它们将为后续学习模型、模板、表单等高级特性打下坚实基础。

在后续文章中,我们将深入探讨Django的模型系统、模板引擎和管理后台等高级功能。

http://www.dtcms.com/a/310890.html

相关文章:

  • SpringBoot3.x入门到精通系列:2.1 自动配置原理
  • 【软考中级网络工程师】知识点之 VRRP
  • 关于Web前端安全防御CSRF攻防的几点考虑
  • 关于人工智能AI>ML>DL>transformer及NLP的关系
  • MySQL(173)MySQL中的存储过程和函数有什么区别?
  • 【DeepSeek-R1 】分词系统架构解析
  • 快速了解决策树
  • API征服者:Python抓取星链卫星实时轨迹
  • Docker 部署与配置 MySQL 5.7
  • 四、Portainer图形化管理实战与Docker镜像原理
  • 2024年网络安全案例
  • 从数据丢失到动画流畅:React状态同步与远程数据加载全解析
  • Jotai:React轻量级原子化状态管理,告别重渲染困扰
  • 《深潜React列表渲染:调和算法与虚拟DOM Diff的优化深解》
  • 《React+TypeScript实战:前端状态管理的安全架构与性能优化深解》
  • Oracle 11g RAC集群部署手册(三)
  • SQL 四大语言分类详解:DDL、DML、DCL、DQL
  • Oracle 11g RAC集群部署手册(一)
  • 探索:Uniapp 安卓热更新
  • flink写paimon表的过程解析
  • cmd怎么取消关机命令
  • 【DL学习笔记】yaml、json、随机种子、浮点精度、amp
  • hcip---ospf知识点总结及实验配置
  • 学习嵌入式第十八天
  • rag学习-以项目为基础快速启动掌握rag
  • 深入 Go 底层原理(十):defer 的实现与性能开销
  • Vue3+ts自定义指令
  • 深入 Go 底层原理(二):Channel 的实现剖析
  • 基于结构熵权-云模型的铸铁浴缸生产工艺安全评价
  • 打靶日记-RCE-labs(续)