Django Shortcuts

2024 年 8 月 29 日 | 阅读 3 分钟

Django 快捷方式模块是一组助手函数,通常用于视图函数/类中。模块 django.shortcuts 中有许多可用的快捷方式。 换句话说,这些函数/类为了方便起见引入了受控的耦合。

render()

它将给定的模板与字典相结合,并返回带有已渲染文本的 HttpResponse 对象。 以下是 render() 函数的语法。

语法 -

参数 -

以下是 render() 函数的参数。

  • request - 它用于生成响应。
  • template_name - 它接受模板名称并显示模板内容。

可选参数 -

  • context - 它表示要添加到模板上下文中的值的字典。
  • content_type - 用于结果文档的 MIME 类型。 默认为 'text/html'。
  • status - 它显示响应的状态码。 默认为 200。
  • using - 要用于加载模板的模板引擎的名称。

示例 - 在以下示例中,我们渲染模板 newapp/index.html。

它等同于以下代码。

redirect()

redirect() 函数用于重定向到特定的 URL。 它返回一个 HttpResponseRedirect 到传递参数的适当 URL。 让我们看看以下语法。

语法 -

参数 -

  • 模型:将调用模型的 get_absolute_url() 函数。
  • 带有参数的视图名称:urls.reverse() 将用于反向解析名称。
  • URL 将按原样用于重定向位置。

示例 -

默认情况下,redirect() 返回临时重定向。 但是,如果设置为 True,我们可以返回永久重定向。

get_object_or_404()

如果未找到搜索到的对象,则返回 DoesNotExist 异常。 另一方面,get() 方法引发 Http404。

参数

  • Klass - 一个模型类、一个管理器或一个从其中获取对象的 QuerySet 实例。
  • **kwargs - 查找参数,应该采用 get()filter() 接受的格式。

让我们了解下面的示例。

示例 -

它等同于

get_list_or_404()

它返回在给定模型管理器上对 filter() 的结果,并转换为列表,如果结果列表为空,则引发 Http404。 语法与 get_object_or_404 相同。

参数

  • klass - 一个模型、管理器或 QuerySet 实例,从中获取列表。
  • **kwargs - 查找参数,应该采用 get()filter() 接受的格式。

让我们理解下面的例子。

示例 -

它等同于

我们讨论了一些重要的快捷方式,这些快捷方式提供了对对象的控制。 这些快捷方式还允许有效地处理潜在的错误。