![]() Django 面试题2025年3月17日 | 阅读 7 分钟 以下是顶级的、经常被问到的Django 面试题及答案列表。 1) 解释 Django。Django 是一个用 Python 编写的免费开源的 Web 应用程序框架。它是一个服务器端 Web 框架,可提供安全且可维护的网站的快速开发。 2) Django 是什么意思?Django 的名字来源于 Django Reinhardt,一位 20 世纪 30 年代至 50 年代初的吉普赛爵士吉他手,他被誉为有史以来最伟大的吉他手之一。 3) Django 遵循哪种架构模式?Django 遵循模型-视图-模板 (MVT) 架构模式。 请看下面的图,展示了 MVT 的控制流。 ![]() 在这里,用户向 Django **请求**一个资源,Django 作为控制器,检查 URL 中可用的资源。 如果 URL 匹配,**将调用一个视图**,该视图与模型和模板交互,并渲染一个模板。 Django 将一个**响应**发回给用户,并发送一个模板。 4) 解释 Django 架构。Django 遵循 MVT (模型-视图-模板) 模式。它与 MVC 略有不同。 模型 (Model): 这是数据访问层。它包含有关数据的全部信息,即如何访问数据、如何验证数据、数据的行为以及数据之间的关系。 我们来看一个例子。我们正在创建一个名为 Employee 的模型,它有两个字段 first_name 和 last_name。 视图 (View): 这是业务逻辑层。这一层包含访问模型并将请求委托给适当模板的逻辑。它就像模型和模板之间的桥梁。 模板 (Template): 这是表示层。这一层包含与表示相关的决策,即在网页或其他文档类型上应如何显示某些内容。 要配置模板系统,我们必须在 settings.py 文件中提供一些条目。 5) Django 是一个高级 Web 框架还是低级框架?Django 是一个高级 Python Web 框架,它旨在实现快速开发和简洁、现实的设计。 6) Django 如何发音?Django 的发音是 JANG-oh。这里的 D 是不发音的。 7) Django 如何工作?Django 可以分解为许多组件: Models.py 文件:此文件通过将您的单行代码扩展到完整的数据库表来定义您的数据模型,并添加预构建的管理部分来管理内容。 Urls.py 文件:它使用正则表达式捕获 URL 模式以进行处理。 Views.py 文件:这是 Django 的主要部分。实际的处理发生在视图中。 当访问者访问 Django 页面时,Django 首先检查您创建的 URL 模式,并使用该信息检索视图。然后,视图处理请求,必要时查询您的数据库,并将请求的信息传递给模板。 之后,模板以您创建的布局呈现数据并显示页面。 8) 哪个基金会管理 Django Web 框架?Django Web 框架由一个独立且非营利性的组织 Django Software Foundation (DSF) 管理和维护。该基金会的主要目标是推广、支持和发展 Django Web 框架。 9) Django 稳定吗?是的,Django 非常稳定。Disqus、Instagram、Pinterest 和 Mozilla 等许多公司多年来一直在使用 Django。 10) Django Web 框架有哪些可用功能?Django Web 框架中可用的功能包括:
11) 解释 Django 的优点?Django 的优点:
12) Django 有哪些缺点?以下是 Django 的缺点列表:
13) Django 中有哪些继承样式?Django 中有三种可能的继承样式: 1) 抽象基类 (Abstract base classes): 当您只希望父类包含您不想在每个子模型中键入的信息时,使用此样式。 2) 多表继承 (Multi-table Inheritance): 如果您正在对现有模型进行子类化,并且需要每个模型都有自己的数据库表,则使用此样式。 3) 代理模型 (Proxy models): 如果您只想修改模型在 Python 级别的行为,而不想更改模型的字段,则使用此样式。 14) Django 是一个内容管理系统 (CMS) 吗?不,Django 不是 CMS。相反,它是一个 Web 框架和编程工具,可以帮助您构建网站。 15) 如何在 Django 中设置静态文件?在 Django 中设置静态文件需要三个主要步骤: 1) 在 settings.py 中设置 STATIC_ROOT 2) 运行 manage.py collectstatic 3) 在 PythonAnywhere 的 Web 标签页中设置一个静态文件条目 16) Django 中间件有哪些典型用法?Django 中间件的一些用法包括:
17) Django 字段类类型的作用是什么?Django 字段类类型指定:
18) django-admin.py 和 manage.py 的用途是什么?django-admin.py: 它是 Django 用于管理任务的命令行实用程序。 manage.py: 它是每个 Django 项目中自动创建的文件。它是 Django-admin.py 的一个薄包装器。它的用法如下:
19) Django 中的信号是什么?信号是包含有关正在发生的事情的信息的代码片段。使用调度器来发送信号并监听这些信号。 20) 信号中有两个重要参数是什么?信号中有两个重要参数是:
21) 如何处理 Django 中的 URL?为了处理 URL,Django 框架使用 **django.urls** 模块。 我们打开项目的 urls.py 文件,看看它是怎样的。 // urls.py 请看,Django 已经为 admin 指定了一个 URL。path 函数的第一个参数是字符串或正则表达式类型的路由。 视图参数是一个视图函数,用于向用户返回响应(模板)。 django.urls 模块包含各种函数,path(route,view,kwargs,name) 是其中之一,用于映射 URL 并调用指定的视图。 22) Django 异常是什么?异常是一种导致程序失败的异常事件。为了处理这种情况,Django 使用其异常类,并且还支持所有核心 Python 异常。Django 核心异常类定义在 django.core.exceptions 模块中。 23) Django 异常类有哪些不同类型?django.core.exceptions 模块包含以下类:
24) Django 会话是什么?会话是一种在与 Web 应用程序交互期间在服务器端存储信息的机制。默认情况下,会话存储在数据库中,并且还支持基于文件和基于缓存的会话。 25) Cookie 在 Django 中扮演什么角色?Cookie 是一小段信息,存储在客户端浏览器中。它用于永久(或指定时间)地将用户数据存储在文件中。Cookie 有其到期日期和时间,并在到期后自动删除。Django 提供了内置方法来设置和获取 cookie。 set_cookie() 方法用于设置 cookie,get() 方法用于获取 cookie。 还可以使用 request.COOKIES['key'] 数组来获取 cookie 值。 |
我们请求您订阅我们的新闻通讯以获取最新更新。