Django 学习教程- Django 入门案例

发布时间:2024年01月01日

Django学习教程系列

Django学习教程-介绍与安装

前言

本教程是为 Django 5.0 编写的,它支持 Python 3.10 至以上。如果 Django 版本不匹配,可以参考教程 使用右下角的版本切换器来获取你的 Django 版本 ,或将 Django 更新到最新版本。如果您使用的是较旧的 Python 版本,请查看?我可以将哪个 Python 版本与 Django 一起使用??以找到兼容的 Django 的版本。

在本教程中,我将引导您完成基本的django请求和响应的入门案例。

让我们开始吧!

创建项目

django-admin startproject mysite

注意:如果没有创建成功 mysite 项目,您需要避免使用 Python 或 Django 内置的包来命名项目,这会导致冲突。

让我们看看创建了什么:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • mysite/:外部根目录是项目的容器。
  • manage.py:一个命令行实用程序,可让您与之交互 Django 项目以各种方式进行。你可以在?django-admin 和 manage.py?中阅读所有细节。manage.py
  • mysite/mysite/:?它的名称是导入时需要使用的 Python 包名称 它里面的任何东西(例如)。mysite/mysite.urls
  • ? mysite/__init__.py:一个空文件,告诉 Python 这个 目录应被视为 Python 包。如果你是 Python 初学者, 在官方 Python 文档中阅读有关包的更多信息
  • ? mysite/settings.py:此 Django 的设置/配置 项目。Django?设置将告诉你所有关于如何设置的信息 工作。
  • ? mysite/urls.py:此 Django 项目的 URL 声明;一个 Django 驱动的站点的“目录”。您可以阅读更多关于 URL?调度程序中的 URL
  • ? mysite/asgi.py:ASGI兼容Web服务器的入口点 为您的项目服务。有关详细信息,请参阅如何使用 ASGI 进行部署
  • ? mysite/wsgi.py:WSGI 兼容 Web 服务器的入口点 为您的项目服务。有关更多详细信息,请参阅如何使用 WSGI 进行部署

?启动 mysite 项目

python manage.py runserver

您将在命令行上看到以下输出:

Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 30, 2023 - 13:29:36
Django version 5.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

注意:You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.

这个提示暂时忽略,跟数据库相关,后面会结合数据库使用。

您已经启动了 Django 开发服务器,这是一个纯粹用 Python 编写的轻量级 Web 服务器。我们已将其包含在 Django 中,以便您可以快速开发内容,而无需处理配置生产服务器(例如 Apache),直到您准备好进行生产为止。

现在服务器已运行,请使用 Web 浏览器访问?http://127.0.0.1:8000/?您会看到“恭喜!”?页面,火箭起飞。有效!

更改端口

默认情况下,该runserver命令在内部 IP 的端口 8000 上启动开发服务器。

如果要更改服务器的端口,请将其作为命令行参数传递。例如,此命令在端口 8080 上启动服务器:

python manage.py runserver 8080

如果要更改服务器的 IP,请将其与端口一起传递。例如,要监听所有可用的公共 IP(如果您正在运行 Vagrant 或想要在网络上的其他计算机上展示您的工作,这很有用),请使用:

python manage.py runserver 0.0.0.0:8000

web入门案例

现在您的环境(一个“项目”)已经设置完毕,您就可以开始工作了。

要创建您的应用程序,请确保您位于同一目录中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?并将以下 Python 代码放入其中:

from django.http import HttpResponse


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

这是 Django 中最简单的视图。要调用视图,我们需要将其映射到 URL - 为此我们需要一个 URLconf。

要在 polls 目录中创建 URLconf,请创建一个名为?urls.py.?您的应用程序目录现在应如下所示:

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

在该polls/urls.py文件中包含以下代码:

from django.urls import path

from . import views

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

下一步是将根 URLconf 指向polls.urls模块。在 mysite/urls.py中 包含以下代码(注意:是mysite/urls.py,不是polls/urls.py)?

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

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

include()函数允许引用其他 URLconf。每当 Django 遇到 时include(),它都会截掉 URL 中与该点匹配的任何部分,并将剩余的字符串发送到包含的 URLconf 进行进一步处理。

其背后的想法include()是让即插即用的 URL 变得容易。由于民意调查位于其自己的 URLconf (?polls/urls.py) 中,因此可以将它们放置在“/polls/”下、“/fun_polls/”下、“/content/polls/”下或任何其他路径根下,并且应用程序仍将工作。

何时使用include()

include()当包含其他 URL 模式时应?始终使用。admin.site.urls是唯一的例外。

您现在已将index视图连接到 URLconf 中。使用以下命令验证它是否正常工作:

python manage.py runserver

在浏览器中访问http://localhost:8000/polls/,您应该会看到文本“?Hello, world.

当您熟悉基本的请求和响应流程后,请期待下一章Djiango集成数据库使用案例。

文章来源:https://blog.csdn.net/lizhongjun1005/article/details/135264951
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。