IWA
2025-08-27
点 赞
0
热 度
13
评 论
0

Django 系列教程:入门教程 - 第 1 节 - 请求和响应

编写你的第一个 Django 应用,第 1 部分

让我们通过示例来学习。

本教程将引导你创建一个基础的投票应用程序,包含两个主要部分:

  • 一个供用户查看和投票的公共站点。

  • 一个用于添加、修改和删除投票的管理站点。

在开始之前,请确保你已经安装了 Django。可以通过在命令行中输入以下命令来验证安装和版本:

$ python -m django --version

如果显示版本号,说明 Django 已安装;如果提示“No module named django”,则需要先安装 Django。

本教程基于 Django 5.2,支持 Python 3.10 及以上版本。如果 Django 版本不匹配,你可以通过页面右下角的版本切换器选择适合的教程版本,或升级到最新版本。如需了解 Python 版本兼容性,请参考 我应该使用哪个版本的 Python 来配合 Django?

获取帮助:

如果在学习过程中遇到问题,可以查看 FAQ 中的 获取帮助 部分。

创建项目

首次使用 Django 时,需要进行一些初始化设置。你需要创建一个 Django 项目,即包含数据库配置、Django 设置和应用程序配置的集合。

在命令行中,进入你希望存储代码的目录,创建一个名为 djangotutorial 的目录(名称可自定义):

$ mkdir djangotutorial

然后运行以下命令,初始化一个新的 Django 项目:

$ django-admin startproject mysite djangotutorial

这将在 djangotutorial 目录内生成一个名为 mysite 的项目。如果命令执行失败,请参考 运行 django-admin 时遇到的问题

注意:

避免使用 Python 或 Django 的保留关键字命名项目,例如 djangotest,以免产生冲突。

startproject 命令生成的文件结构如下:

djangotutorial/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

各文件和目录的作用:

  • manage.py:用于管理 Django 项目的命令行工具。详情请参考 django-admin 和 manage.py

  • mysite/:项目的 Python 包目录,其名称用于导入相关内容(例如 mysite.urls)。

  • mysite/__init__.py:空文件,标识该目录为 Python 包。

  • mysite/settings.py:Django 项目的配置文件。更多信息请查看 Django 配置

  • mysite/urls.py:项目的 URL 声明,相当于网站的目录。详情请阅读 URL 调度器

  • mysite/asgi.py:ASGI 兼容服务器的入口点。了解更多请参考 如何使用 ASGI 部署

  • mysite/wsgi.py:WSGI 兼容服务器的入口点。详情请查看 如何使用 WSGI 部署

用于开发的简易服务器

验证 Django 项目是否正常工作。进入 djangotutorial 目录,运行以下命令:

$ python manage.py runserver

如果一切正常,你将看到类似以下输出:

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

八月 23, 2025 - 15:50:53
Django version 5.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
For more information on production servers see: https://docs.djangoproject.com/en/5.2/howto/deployment/

注意:

暂时忽略关于未应用数据库迁移的警告,后续我们会处理数据库。

现在,通过浏览器访问 http://127.0.0.1:8000/,你将看到 Django 的默认欢迎页面,表示项目已成功运行。

Django 开发服务器是一个轻量级的纯 Python Web 服务器,专为开发设计,无需配置生产服务器(如 Apache)。切勿将其用于生产环境。

自动重新加载:

开发服务器会在代码修改时自动重新加载,无需手动重启。但添加新文件等操作可能需要重启服务器。

创建投票应用

现在项目环境已配置完成,可以开始创建应用。

在 Django 中,每个应用都是一个独立的 Python 包。Django 提供了生成应用基础结构的工具。

项目与应用的区别:

  • 应用是完成特定功能的 Web 程序,例如博客系统或投票程序。

  • 项目是网站配置和应用的集合,可以包含多个应用,应用也可被多个项目使用。

应用可以位于 Python 路径的任何位置。本教程中,我们将在 djangotutorial 目录内创建投票应用。

确保当前目录为 manage.py 所在位置,运行以下命令:

$ python manage.py startapp polls

这将生成 polls 目录,结构如下:

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

此目录包含了投票应用的全部基础文件。

编写第一个视图

打开 polls/views.py,输入以下代码:

polls/views.py

from django.http import HttpResponse


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

这是 Django 中最简单的视图。为了在浏览器中访问,需要将其映射到 URL,因此需要创建 URL 配置(URLconf)。每个 Django 应用都有一个名为 urls.py 的 URL 配置文件。

polls 目录下创建 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

接下来,在项目的根 URLconf(mysite/urls.py)中包含 polls.urls。修改 mysite/urls.py,添加 include 并更新 urlpatterns

mysite/urls.py

from django.contrib import admin
from django.urls import include, path

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

path() 函数至少需要两个参数:routeviewinclude() 函数用于引用其他 URLconfs,截断匹配的 URL 部分,并将剩余部分发送到包含的 URLconf 处理。

include() 的设计使应用可以灵活部署在任何路径下,如 "/polls/"、"/fun_polls/" 等。

何时使用 include()

admin.site.urls 外,引用其他 URL 模式时应始终使用 include()

现在,index 视图已添加到 URLconf 中。通过以下命令启动服务器进行验证:

$ python manage.py runserver

访问 http://localhost:8000/polls/,你应该看到 "Hello, world. You're at the polls index."。

如果页面未显示:

确保访问的是 http://localhost:8000/polls/,而不是 http://localhost:8000/。

完成以上步骤后,你可以继续学习【https://amyhome.cn/archives/django-xi-lie-jiao-cheng-ru-men-jiao-cheng-mo-xing-he-guan-li-zhan-dian】,开始使用数据库。


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

IWA

estp 企业家

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

文章目录

IWA的艺术编程,为您导航全站动态

19 文章数
9 分类数
9 评论数
23标签数
最近评论
M丶Rock

M丶Rock


😂

M丶Rock

M丶Rock


感慨了

M丶Rock

M丶Rock


厉害了

M丶Rock

M丶Rock


6666666666666666666

M丶Rock

M丶Rock


6666666666666666666

访问统计