如何根据 Django 中当前基于类的通用视图模型向模板加载器添加路径

Posted

技术标签:

【中文标题】如何根据 Django 中当前基于类的通用视图模型向模板加载器添加路径【英文标题】:How to add a path to the Template Loader depending of the current class based generic view's model in Django 【发布时间】:2012-04-13 09:48:49 【问题描述】:

我在基于类的通用视图的模板内使用include 模板标签,我需要将使用当前模型系统名称创建的自定义路径附加到 Django 将要检查的模板列表中以查找包含模板。

我正在尝试创建一个自定义模板加载器,但它需要访问视图、请求或上下文才能获取模型,我还没有找到方法。

我该怎么做?

【问题讨论】:

【参考方案1】:

如果我正确理解了您的问题,您可能会发现Inclusion tags 很有用——只需将装饰器的takes_context 参数设置为True

【讨论】:

谢谢!但此解决方案仅适用于自定义包含标签。我想在这两种情况下使用相同的自定义模板加载器:包含标签和模板视图。我也想避免自定义包含标签。

以上是关于如何根据 Django 中当前基于类的通用视图模型向模板加载器添加路径的主要内容,如果未能解决你的问题,请参考以下文章

Django 基于类的通用视图和身份验证

Django:渲染视图后如何更新模型?

如何从 django 中基于类的详细视图中获取当前对象/产品?

从 Django 中基于类的通用视图自定义表单变量的首选方法是啥?

使用基于类的 UpdateView 在 Django 中更新用户模型

基于 Django 类的视图和通用视图详细信息使用