Django 学习教程- Django 入门案例

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.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.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__.pyadmin.pyapps.pymigrations/__init__.pymodels.pytests.pyviews.py

 写下你的第一个视图

打开该文件 polls/views.py 并将以下 Python 代码放入其中:

from django.http import HttpResponsedef index(request):return HttpResponse("Hello, world. You're at the polls index.")

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

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

polls/__init__.pyadmin.pyapps.pymigrations/__init__.pymodels.pytests.pyurls.pyviews.py

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

from django.urls import pathfrom . import viewsurlpatterns = [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, pathurlpatterns = [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集成数据库使用案例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/312376.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio如何创建尺寸大小及API通用的模拟器

目录 前言 一、操作步骤 二、总结 三、更多资源 前言 在开发移动应用程序的过程中,使用模拟器进行测试是一种常见和方便的方式。Android Studio是一款功能强大的集成开发环境,它提供了创建和管理模拟器的功能。在本文中,我们将介绍如何创…

CGAL的AABB tree

1、介绍 AABB树组件提供了一种静态数据结构和算法,用于对有限的三维几何对象集进行高效的交集和距离查询。可以查询数据结构中存储的几何对象集,以进行交集检测、交集计算和距离计算。 交集查询可以是任何类型的,只要在traits类中实现了相应的…

cargo(rust包管理) 常见命令、包检索 (windows+linux)

rust环境和开发环境配置:rust开发环境配置 winlinux Cargo是Rust的构建系统和包管理器。 如果你的能力足够强也愿意,可以不用cargo进行rust开发,即从头开始敲代码 一、cargo包相关查询 1.查找包 查找cargo包链接:crates.io …

挥别2023,喜迎2024,我在CSDN赚了15000+F

Hello小伙伴们,大家好,我是 还是大剑师兰特, 今天是2024年的1月1日,首先祝大家元旦快乐! 文章目录 不平凡的20232023博客之星,年度第63名6月份城市之星,北京第11名2023年末,互动总成…

Vue2 - Vue.observable 介绍

目录 1,介绍2,使用场景和 Vue 实例的区别 1,介绍 官网参考 可以让一个对象变成响应式数据。在 Vue 内部就是用它来处理传递给 Vue 的 data 对象,或是在单文件组件中 data() 返回的对象。 var vm new Vue({data: {count: 0} })…

缓存和数据库,1+1如何大于2?

一、缓存的本质 缓存,简单说就是为了节约对原始资源重复获取的开销,而将结果数据副本存放起来以供获取的方式。 首先,缓存往往针对的是“资源”。我们前面已经多次提到过,当某一个操作是"幂等"的和“安全"的&#…

10TB海量JSON数据从OSS迁移至MaxCompute

前提条件 开通MaxCompute。 在DataWorks上完成创建业务流程,本例使用DataWorks简单模式。详情请参见创建业务流程。 将JSON文件重命名为后缀为.txt的文件,并上传至OSS。本文中OSS Bucket地域为华东2(上海)。示例文件如下。 {&qu…

【SD】一致性角色 - 同一人物 不同姿势 - 2

首先生成4张不同姿势的图片 masterpiece,high quality,(white background:1.6),(simple background:1.4),1gril,solo,black footwear,black hair,brown eyes,closed mouth,full body,glasses,jacket,long hair,long sleeves,lookig at viewer,plaid,plaid skirt,pleated shirt,…

QT上位机开发(抽奖软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 用抽奖软件抽奖,是一种很常见的抽奖方式。特别是写这篇文章的时候,正好处于2023年12月31日,也是一年中最后一天…

《深入理解JAVA虚拟机笔记》并发与线程安全原理

除了增加高速缓存之外,为了使处理器内部的运算单元能尽量被充分利用,处理器可能对输入代码进行乱序执行(Out-Of-Order Execution)优化。处理器会在计算之后将乱序执行的结果重组,保证该结果与顺序执行的结果一致&#…

vue3-13

token可以是后端api的访问依据,一般绝大多数时候,前端要访问后端的api,后端都要求前端请求需要携带一个有效的token,这个token用于用户的身份校验,通过了校验,后端才会向前端返回数据,进行相应的操作,如果没…

【基础】【Python网络爬虫】【2.请求与响应】常用请求报头和常用响应方法

Python网络爬虫基础 爬虫基础请求与相应HTTP/HTTPS 协议HTTP/HTTPS的优缺点HTTP 的缺点HTTPS的优点 请求与响应概述请求请求目标(url)请求体(response)常用的请求报头查看请求体(requests 模块) 响应HTTP响…