第三方应用程序的Django自定义视图

第三方应用程序的Django自定义视图,django,view,module,Django,View,Module,假设我安装了一个名为“文章”的第三方应用程序,该应用程序包含基本模板和视图。还有一个叫做“主页”的视图来列出文章 我需要在该视图中添加一个表单,当然表单变量不在默认的“主”视图中。如何将表单变量添加到该视图中 我现在可以想出几个办法: 创建另一个应用程序并创建自定义视图 这看起来很疯狂,我不会这么做,但是为了可能,添加一个上下文处理器,将表单变量添加到上下文中 只是想知道是否有人遇到过这种情况,以及解决这种情况的最佳方法是什么?嗯,您可能需要尝试使用函数装饰器来重新定义以前的视图函数。 不建议使

假设我安装了一个名为“文章”的第三方应用程序,该应用程序包含基本模板和视图。还有一个叫做“主页”的视图来列出文章

我需要在该视图中添加一个表单,当然表单变量不在默认的“主”视图中。如何将表单变量添加到该视图中

我现在可以想出几个办法:

  • 创建另一个应用程序并创建自定义视图
  • 这看起来很疯狂,我不会这么做,但是为了可能,添加一个上下文处理器,将表单变量添加到上下文中

  • 只是想知道是否有人遇到过这种情况,以及解决这种情况的最佳方法是什么?

    嗯,您可能需要尝试使用函数装饰器来重新定义以前的视图函数。 不建议使用上下文处理器或中间件,因为它是全局的且不干净的


    另一种使用方法是使用已定义的标记。这可能需要更多的支持,与标签的原始设计背道而驰。但是这似乎是一个好方法。

    为什么不创建另一个视图,然后新视图继承
    主视图。这样,您就可以使用
    super
    ,然后添加任何上下文