Django--01基本请求与响应流程

Django--01基本请求与响应流程

文章目录

  • Django--01基本请求与响应流程
    • 前言
    • 一、下载
    • 二、创建项目
      • [2.1 命令行创建](#2.1 命令行创建)
        • [2.1.1 项目结构](#2.1.1 项目结构)
      • [2.2 pycharm创建](#2.2 pycharm创建)
      • [2.3 启动服务](#2.3 启动服务)
      • [2.4 开发服务器注意事项](#2.4 开发服务器注意事项)
    • 三、创建应用
      • [3.1 新建应用pools](#3.1 新建应用pools)
      • [3.2 编写第一个视图](#3.2 编写第一个视图)
      • [3.3 配置url](#3.3 配置url)
    • [四、path() 函数详解](#四、path() 函数详解)
    • 五、小结

前言

本博客内容全部在windows系统实现 ,按照官网文档创建一个基本的投票应用。

它包含以下内容:

复制代码
创建一个 Django 项目
创建一个可以创建投票的应用
编写基本的视图和 URL 配置
介绍 Django 管理界面的基础

一、下载

直接pip

复制代码
pip install Django==5.2.4

二、创建项目

2.1 命令行创建

打开命令行,自行创建项目目录进入,我的是djangotutorial文件夹,输入下面的指令就会在目录下创建django项目

复制代码
django-admin startproject mysite djangotutorial
2.1.1 项目结构
复制代码
djangotutorial/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

目录说明:

复制代码
1.外层的 mysite/ 是项目的容器,它的名字对 Django 来说并不重要,你可以随意修改。
2.manage.py:一个命令行工具,用于与 Django 项目进行交互。你可以在 django-admin 和 manage.py 中了解它的所有细节。
3.内层的 mysite/ 是项目的实际 Python 包目录,它的名字是你导入项目中模块时需要用到的(例如 import mysite.settings)。
4.mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被视为一个 Python 包。
5.mysite/settings.py:Django 项目的配置文件。查看 Django 设置 可以了解更多配置相关的内容。
6.mysite/urls.py:Django 项目的 URL 声明,就像项目的 "目录"。查看 URL 调度器 可以了解更多。
7.mysite/asgi.py:项目运行在 ASGI 兼容的 Web 服务器上的入口点。查看 ASGI 部署 了解更多。
8.mysite/wsgi.py:项目运行在 WSGI 兼容的 Web 服务器上的入口点。查看 WSGI 部署 了解更多。

2.2 pycharm创建

好像只有专业版(收费版)可以,这里我没有专业版不操作了。

2.3 启动服务

默认端口8000

复制代码
python manage.py runserver

这启动了 Django 内置的开发服务器,这是一个纯 Python 编写的轻量级 Web 服务器,方便你在开发过程中使用,不需要配置生产环境的服务器(如 Apache)。

现在,打开浏览器,访问 http://127.0.0.1:8000/。你应该能看到一个 "祝贺" 页面,上面写着 "成功! Django 工作正常。

自定义端口8001

复制代码
python manage.py runserver 8001

如果你想让服务器在所有可用的公共 IP 上监听(这在你需要在其他电脑上访问开发服务器时很有用),可以使用以下命令:

复制代码
python manage.py runserver 0.0.0.0:8000

2.4 开发服务器注意事项

开发服务器会自动重新加载 Python 代码,当你修改代码时不需要重启服务器。但是,有些动作(如添加文件)不会触发自动重新加载,这时你需要手动重启服务器。

三、创建应用

3.1 新建应用pools

Django 中,一个项目可以包含多个应用,一个应用也可以被多个项目使用。应用是一个专门用于实现某个功能的 Python 包,例如博客系统、投票系统等。

在 Django 中创建应用的方法是使用 startapp 命令。进入包含 manage.py 的目录,然后运行以下命令:

复制代码
py manage.py startapp polls

pools                
├── migrations           // 数据库迁移变更记录
│   └── __init__.py      
├── __init__.py          // 初始化模块
├── admin.py             // 默认自带的后台管理配置
├── apps.py              // 应用配置
├── models.py            // 数据模型、数据库操作等
├── tests.py             // 单元测试
└── views.py             // 视图,url里的函数在这里找

3.2 编写第一个视图

让我们编写第一个视图。打开 polls/views.py 文件,输入以下代码:

复制代码
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

3.3 配置url

3.2是 Django 中最简单的视图。要调用这个视图,我们需要将它映射到一个 URL 上,所以我们需要创建一个 URL 配置。

在 polls 目录中创建一个 urls.py 文件(是的,自己创建这个文件),然后输入以下代码:
简而言之,在polls下创建urls.py文件,其中添加代码

复制代码
from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

应用程序目录现在应如下所示:

复制代码
polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    urls.py
    views.py

接下来,我们需要告诉项目的主 URL 配置,有一个新的 URL 配置模块。打开 mysite/urls.py 文件,添加一个 include 导入,然后在 urlpatterns 列表中添加一个条目:

复制代码
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path("admin/", admin.site.urls),
    path("polls/", include("polls.urls")),
]

include 函数用于引用其他 URL 配置。当 Django 遇到 include 时,它会截断 URL

中匹配到的部分,然后将剩余的字符串发送到被包含的 URL 配置中进行进一步处理。 include 的设计理念是让 URL

配置可以被复用。你可以在多个地方 include 同一个应用的 URL 配置。 admin.site.urls 是一个例外,它没有使用

include,因为它是 Django 管理界面的入口,不需要复用。

至此,已经添加了一个简单的视图,验证一下:

复制代码
http://127.0.0.1:8000/polls/

四、path() 函数详解

path() 函数有四个参数,两个必需参数:route 和 view,两个可选参数:kwargs 和 name。

  1. route:一个字符串,用于匹配 URL。当 Django 处理一个请求时,它会从 urlpatterns列表的第一个元素开始,依次将请求的 URL 与每个 route 进行比较,直到找到匹配的为止。 route 不会匹配 GET 或POST 参数,也不会匹配域名。例如,对于 URLhttp://www.example.com/myapp/?page=3,Django 只会尝试匹配 myapp/。
  2. view:当route 匹配成功时,Django 会调用这个视图函数,将一个 HttpRequest 对象作为第一个参数,将 route中捕获的参数作为关键字参数传递给它。
  3. kwargs:一个字典,包含额外的关键字参数,可以传递给视图函数。在本教程中我们不会使用这个参数。
  4. name:为 URL 命名,这样你可以在 Django 的其他地方(尤其是模板中)引用它,而不需要硬编码 URL。这使得 URL的修改变得更加容易。

五、小结

  1. 你创建了一个 Django 项目。
  2. 你学会了如何运行开发服务器。
  3. 你创建了一个投票应用。
  4. 你编写了第一个视图和 URL 配置。

在02部分教程中,将继续完善投票应用,创建更多的视图,并学习如何使用模板和模型。

相关推荐
啊哈哈哈哈哈啊哈哈43 分钟前
G9打卡——ACGAN
python·生成对抗网络·gan
ALLSectorSorft1 小时前
相亲小程序用户注册与登录系统模块搭建
java·大数据·服务器·数据库·python
Livingbody1 小时前
ubuntu25.04完美安装typora免费版教程
后端
阿华的代码王国2 小时前
【Android】RecyclerView实现新闻列表布局(1)适配器使用相关问题
android·xml·java·前端·后端
码农BookSea2 小时前
自研 DSL 神器:万字拆解 ANTLR 4 核心原理与高级应用
java·后端
lovebugs2 小时前
Java并发编程:深入理解volatile与指令重排
java·后端·面试
caisexi2 小时前
Windows批量启动java服务bat脚本
java·windows·python
海奥华22 小时前
操作系统到 Go 运行时的内存管理演进与实现
开发语言·后端·golang
codervibe2 小时前
Spring Boot 服务层泛型抽象与代码复用实战
后端