Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Django 简介


什么是 Django?

Django 是一个 Python 框架,它使用 Python 更轻松地创建网站。

Django 处理了所有困难的事情,因此您可以专注于构建 Web 应用程序。

Django 强调组件的可重用性,也称为 DRY(不要重复自己),并附带现成的功能,例如登录系统、数据库连接和 CRUD 操作(创建、读取、更新、删除)。

Django 特别适用于数据库驱动的网站。


Django 如何工作?

Django 遵循 MVT 设计模式(模型-视图-模板)。

  • 模型 - 您想要呈现的数据,通常来自数据库的数据。
  • 视图 - 一个请求处理程序,它根据用户的请求返回相关的模板和内容。
  • 模板 - 一个文本文件(如 HTML 文件),包含网页的布局,以及如何显示数据的逻辑。

模型

模型提供来自数据库的数据。

在 Django 中,数据以对象关系映射 (ORM) 的形式提供,这是一种旨在简化数据库操作的技术。

从数据库提取数据的最常用方法是 SQL。SQL 的一个问题是,您必须非常了解数据库结构才能使用它。

Django 使用 ORM 简化了与数据库的通信,无需编写复杂的 SQL 语句。

模型通常位于名为 models.py 的文件中。


视图

视图是一个函数或方法,它以 http 请求作为参数,导入相关的模型,并找出要发送到模板的数据,并返回最终结果。

视图通常位于名为 views.py 的文件中。


模板

模板是一个文件,您可以在其中描述结果的呈现方式。

模板通常是 .html 文件,包含描述网页布局的 HTML 代码,但也可以使用其他文件格式来呈现其他结果,但我们将集中于 .html 文件。

Django 使用标准 HTML 来描述布局,但使用 Django 标签来添加逻辑

<h1>My Homepage</h1>

<p>My name is {{ firstname }}.</p>

应用程序的模板位于名为 templates 的文件夹中。


URL

Django 还提供了一种在网站的不同页面之间导航的方法。

当用户请求 URL 时,Django 会决定将其发送到哪个 视图

这是在一个名为 urls.py 的文件中完成的。


那么,到底发生了什么?

当您安装 Django 并创建第一个 Django Web 应用程序时,浏览器请求 URL,这基本上就是发生的事情

  1. Django 接收 URL,检查 urls.py 文件,并调用与 URL 匹配的视图。
  2. 视图位于 views.py 中,检查相关的模型。
  3. 模型从 models.py 文件导入。
  4. 然后,视图将数据发送到 template 文件夹中的指定模板。
  5. 模板包含 HTML 和 Django 标签,并使用数据将完成的 HTML 内容返回到浏览器。

Django 可以做更多的事情,但这基本上是您将在本教程中学习到的内容,也是使用 Django 制作的简单 Web 应用程序的基本步骤。


Django 历史

Django 由劳伦斯世界报于 2003 年发明,旨在满足报纸的短期截止日期,同时满足经验丰富的 Web 开发人员的需求。

2005 年 7 月首次公开发布。

Django 的最新版本是 4.0.3(2022 年 3 月)。



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.