python - 在 Django 中手动调用基于类的通用 View

标签 python django django-generic-views

我目前正在尝试从另一个基于类的通用 View 中调用基于类的通用 View ,但似乎无法正确执行。

我尝试过的方法:

result = CategoryTypes.as_view()  # The same way you put it in the urlconf
print result

打印:<function CategoryTypes at 0x92bd924>

CategoryTypes.as_view()(self.request)
# &
CategoryTypes().dispatch(self.request)

追溯:

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

result = CategoryTypes().__init__()
print result

打印:None

如何从另一个角度调用它?我已经认真尝试了类里面的所有方法以及我能想到的调用方式。

最佳答案

第一种方式——CategoryTypes.as_view()(self.request)——是对的。问题是如果你的 View 返回一个 TemplateResponse,它的 render 方法不会被自动调用。

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

关于python - 在 Django 中手动调用基于类的通用 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258912/

相关文章:

python - 使用 Python 进行 Spotify API 身份验证

django - 如何在 Django 中获取过去 6 天的数据?

python - 如何在应用程序的 urls.py 中设置通用 View ?

python - Django 测试——无法删除并重新创建测试数据库

python - AMPL:数据集和规范中的一个大集合

django - 在 svn/hg/git/etc 中优雅地处理特定于站点的设置/配置?

python - ListAPIView 中的 Django Rest Framework 序列化错误

database - Django:分页 ListView 数据库性能

python - 使用 python-docx 迭代 docx 中的目录

python -/urlchecker/http ://www. google.com 的正则表达式是什么