Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django的视野更干燥?我需要在主菜单的每个视图上查询并添加上下文?_Django_Dry - Fatal编程技术网

如何在django的视野更干燥?我需要在主菜单的每个视图上查询并添加上下文?

如何在django的视野更干燥?我需要在主菜单的每个视图上查询并添加上下文?,django,dry,Django,Dry,我有一个视图,可以查询以获取主菜单: categories = Category.objects.all() 这将出现在几乎所有的页面上。我如何使这个更干燥 这是用于模板的吗?如果是这样,您可能想看一看,这是用于模板中的吗?如果是这样的话,你可能想看一看如果你想在每一页上都有东西,那么就创建一个。并考虑缓存。如果您希望在每个页面上都有内容,请创建。并考虑缓存。有几个选项 尽管您应该首先检查,如果您真的需要动态菜单(在每次页面加载时查询新类别)。至少应该缓存查询 说到干燥: 基本模板中的专用块{

我有一个视图,可以查询以获取主菜单:

categories = Category.objects.all()

这将出现在几乎所有的页面上。我如何使这个更干燥

这是用于模板的吗?如果是这样,您可能想看一看,这是用于模板中的吗?如果是这样的话,你可能想看一看

如果你想在每一页上都有东西,那么就创建一个。并考虑缓存。

如果您希望在每个页面上都有内容,请创建。并考虑缓存。

有几个选项

尽管您应该首先检查,如果您真的需要动态菜单(在每次页面加载时查询新类别)。至少应该缓存查询

说到干燥:

  • 基本模板中的专用块
    {%block menu%}
    。那你呢 可以将html放在单独的子模板中(扩展基本模板)
  • 模板标记,用于构建菜单(如下所示: …虽然这段代码相当古老,但它应该能让您了解其中的含义)
  • 一个成熟的应用程序(如下所示:)

  • 有几个选择

    尽管您应该首先检查,如果您真的需要动态菜单(在每次页面加载时查询新类别)。至少应该缓存查询

    说到干燥:

  • 基本模板中的专用块
    {%block menu%}
    。那你呢 可以将html放在单独的子模板中(扩展基本模板)
  • 模板标记,用于构建菜单(如下所示: …虽然这段代码相当古老,但它应该能让您了解其中的含义)
  • 一个成熟的应用程序(如下所示:)