手动调用基于类的通用视图

Jos*_*nah 21 python django django-generic-views

我正在尝试从另一个基于类的通用视图中调用基于类的通用视图,并且似乎无法正确执行.

我试过的方法:

result = CategoryTypes.as_view()  # The same way you put it in the urlconf
print result
Run Code Online (Sandbox Code Playgroud)

打印: <function CategoryTypes at 0x92bd924>

CategoryTypes.as_view()(self.request)
# &
CategoryTypes().dispatch(self.request)
Run Code Online (Sandbox Code Playgroud)

回溯:

ContentNotRenderedError at /crm/categories/company/ The response content must be rendered before it can be accessed.

result = CategoryTypes().__init__()
print result
Run Code Online (Sandbox Code Playgroud)

打印: None

我如何从另一个视图中调用它?我认真地尝试了课堂上的每一种方法以及我能想到的调用它的方法.

Ism*_*awi 35

第一种方式CategoryTypes.as_view()(self.request)- 是正确的.问题是如果您的视图返回a TemplateResponse,render则不会自动调用其方法.

因此,如果您需要访问响应的内容,render()请先调用它.