15 个最热门的 Django 面试问题及答案(2024 年)
以下是 Django 面试问题和答案,适合新手和经验丰富的 Django 开发人员应聘者,以帮助他们获得理想的工作。
1)解释什么是Django?
Django 是一个用于创建基于 Python 的 Web 应用程序的开源 Web 框架。由于对基于 Python 的 Web 应用程序的需求巨大,对 Django 开发人员的需求也很高。
2)请提及 Django 中有哪些功能?
Django 中的可用功能包括
- 管理界面(CRUD)
- 模板化
- 表单处理
- 国际化
- 会话、用户管理、基于角色的权限
- 对象关系映射 (ORM)
- 测试框架
- 出色的文档
3)提及Django架构的架构?
Django 架构包括
- 楷模: 它描述了你的数据库模式和你的 数据结构
- 浏览次数: 它控制用户看到的内容,视图从适当的模型中检索数据并执行对数据进行的任何计算并将其传递给模板
- 模板: 它决定了用户如何看到它。它描述了从视图接收的数据应如何更改或格式化以显示在页面上
- 控制器: Django 框架和 URL 解析
4)为什么应该使用 Django 进行 Web 开发?
- 它允许您将代码模块划分为逻辑组,以便灵活地进行更改
- 为了简化网站管理,它提供了自动生成的网站管理
- 它提供预先包装的 API 用于常见的用户任务
- 它为您提供了模板系统来定义 HTML 您的网页模板以避免代码重复
- 它使你能够定义给定函数的 URL
- 它使你能够将业务逻辑与 HTML 分离
- 一切都用 Python 实现
5) 解释如何在 Django 中创建项目?
要在 Django 中启动项目,请使用命令 $ django-admin.py,然后使用命令
- 项目
- _init_.py
- 管理文件
- settings.py
- 网址.py
6) 解释如何在 Django 中设置数据库?
您可以使用命令编辑 mysite/setting.py ,它是一个普通的 Python 模块,模块级别代表 Django 设置。Django 默认使用 SQLite;对于 Django 用户来说,它很容易,因此不需要任何其他类型的安装。如果您的数据库选择不同,则必须在 数据库‘默认’ 项目以匹配您的数据库连接设置
- 引擎: 您可以使用“django.db.backends.sqlite3”、“django.db.backeneds.mysql”、“django.db.backends.postgresql_psycopg2”、“django.db.backends.oracle”等更改数据库
- 名称: 数据库的名称。如果您使用 SQLite 作为数据库,那么数据库将是您计算机上的一个文件,名称应为完整的绝对路径,包括该文件的文件名。
如果您没有选择 SQLite 作为数据库,则必须添加密码、主机、用户等设置。
7) 举例说明如何在 Django 中编写视图?
视图是接受请求并返回响应的 Django 函数。为了在 Django 中编写视图,我们以“Guru99_home”为例,它使用模板 Guru99_home.html 并使用日期时间模块告诉我们每次刷新页面时的时间。我们需要编辑的文件名为 view.py,它位于 mysite/myapp/ 中
将以下代码复制到其中并保存文件
from datatime import datetime from django.shortcuts import render def home (request): return render(request, 'Guru99_home.html', {'right_now': datetime.utcnow()})
一旦确定了 VIEW,就可以取消注释 urls.py 中的此行
# url ( r '^$', 'mysite.myapp.views.home', 名称 'Guru99'),
最后一步将重新加载您的 Web 应用程序,以便 Web 服务器能够注意到这些更改。
8) 解释如何在 Django 中设置静态文件?
在 Django 中设置静态文件主要需要做三件事
- 在 settings.py 中设置 STATIC_ROOT
- 运行 manage.py collectsatic
- 在 Python无处不在 网络标签
9)请说明一下Django模板由什么组成?
该模板是一个简单的文本文件。它可以创建任何基于文本的格式,例如 XML、CSV、HTML 等。模板包含在评估模板时被替换为值的变量和控制模板逻辑的标签(%tag%)。
10)解释一下Django中session框架的使用?
在 Django 中,会话框架使您能够根据每个站点访问者存储和检索任意数据。它将数据存储在服务器端并抽象出 cookie 的接收和发送。会话可以通过中间件来实现。
11)解释如何使用基于文件的会话?
要使用基于文件的会话,您必须设置 会话引擎 设置为“django.contrib.sessions.backends.file”
12) 解释 Django 中的迁移以及如何在 SQL 中执行?
Django 中的迁移是指对模型进行更改,例如删除模型、在数据库架构中添加字段等。您可以使用多个命令与迁移进行交互。
- 迁移
- 迁移
- 迁移
进行迁移 SQL,您必须打印用于重置给定应用程序名称的序列的 SQL 语句。
django-admin.py sqlsequencreset
使用此命令生成 SQL,以修复序列与其自动递增的字段数据不同步的情况。
13)请提及可以使用什么命令行将数据加载到Django中?
要将数据加载到 Django,你必须使用命令行 Django-admin.py 加载数据。 命令行将搜索数据并将命名装置的内容加载到数据库中。
14)解释 django-admin.py makemessages 命令用于什么?
此命令行在当前目录的整个源树上执行并提取所有标记为翻译的字符串。它在语言环境目录中创建一个消息文件。
15) 列出 Django 中的继承样式?
在 Django 中,有三种可能的继承方式
- 抽象基类: 当你只希望父类保存你不想为每个子模型输入的信息时,可以使用这种风格
- 多表继承: 如果您要对现有模型进行子类化,并且需要每个模型都有自己的数据库表,则可以使用此样式
- 代理模型: 如果您只想修改模型的 Python 级别行为,而不更改模型的字段,则可以使用此模型
16) 请说出Django字段类的类型?
字段类类型决定
- 数据库列类型
- 呈现表单字段时可用的默认 HTML 小部件
- Django 管理和自动生成的表单中使用的最低验证要求
这些面试问题也会对你的口试有帮助
先生,您的问题是最好的,但我没有任何关于 django 面试的经验,因为我现在学习 jango,并且将在接下来的 15 天内完成,所以为了准备面试,请给我一些更重要的问题并提供一些想法。
我喜欢这些问题的解答方式。