python - 如何在基于类的视图中获取当前插件对象的实例
问题描述
我正在为 django-cms 开发一个插件。
现在,我有一个类BaseMyPlugin
扩展CMSPlugin
类,我需要base_attr
在基于类的详细视图 ( MyDetailView
) 上下文中从该类获取一个属性。我应该为我的视图导入(对于模块)或覆盖(对于函数)什么?
我想获取的属性是在运行时设置的,所以我必须获取实例。它在template
上下文中是可访问的,因为存在plugin
. 但是在视图上下文中,我无法获得这样的实例。
我尝试了以下方法:
BaseMyPlugin
在视图上下文中导入类。失败,因为它不是实例。- 覆盖
render_to_response
//类get_context_data
中get_object
的方法MyDetailView
。失败,因为这些方法的参数不包含该base_attr
属性。
我的观点的代码:
class MyDetailView(DetailView):
```
I want to get the BaseMyPlugin.base_attr in this view
```
view_attr='to be set accouding to BaseMyPlugin.base_attr'
我的CMSPlugin
班级代码:
class BaseMyPlugin(CMSPlugin):
# target attribute
base_attr='some value set in runtime'
我需要在运行时base_attr
设置无论如何。view_attr
你能帮我吗?
解决方案
推荐阅读
- gnuplot - 在命令行用图像绘制 gnuplot 矩阵,为什么需要两个 e?
- python - Python pandas 数据清理
- java - “错误:不兼容的类型:推理变量 R 具有不兼容的边界”当 flatMap 单行流时
- clojure - 递归宏clojure
- excel - 如何使用 VBA 函数计算 Excel 中非数字单词的数量
- tensorflow - 从 tensorboard 中提取直方图值并用 matplotlib 绘制它
- c# - C# 无法将列表绑定到 DataGridView -
- java - Java 反射 - 参数数量错误;预期为 0,得到 1
- ios - iOS 图表:使用非线性 X 轴绘制数据集
- python - Python 文件字符串替换字典和元组