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部分教程中,将继续完善投票应用,创建更多的视图,并学习如何使用模板和模型。

相关推荐
JJ1M83 分钟前
前缀和+贪心总结,基于每日一题力扣3439、3440
python·算法·leetcode
哈里谢顿4 分钟前
django中编写一个可执行脚本
django
南雨北斗4 分钟前
VSCODE进行代码格式化的方法
后端
深栈解码6 分钟前
第一章:认识JVM:跨平台的引擎与生态基石
java·后端
fortify16 分钟前
Git:从0掌握Git的使用,满足日常开发需求
后端
绵阳的脑内SSD18 分钟前
Lecture #20:Database Logging
后端
AirMan18 分钟前
深入浅出Redis:一文掌握Redis底层数据结构与实现原理
redis·后端·面试
Hx__22 分钟前
限流算法
后端
_代号00726 分钟前
Go 编译报错排查:vendor/golang.org/x/crypto/cryptobyte/asn1 no Go source files
后端·go
David爱编程26 分钟前
Deployment vs StatefulSet:怎么选?
后端·云原生·kubernetes