将 Django direct_to_template 函数转换为使用基于类的视图

Posted

技术标签:

【中文标题】将 Django direct_to_template 函数转换为使用基于类的视图【英文标题】:Convert the Django direct_to_template function to use class based view 【发布时间】:2015-05-28 04:27:00 【问题描述】:

我正在更新一个使用 direct_to_template 作为函数的 Django 项目,即:

return direct_to_template(request, 'bprofile/init.html', targs)

如前所述this page

我看过SO question here 并阅读了documentation on this page,其中描述了表单语句的迁移

('^about/$', direct_to_template, 'template': 'about.html')

看起来像

('^about/$', TemplateView.as_view(template_name='about.html'))

不幸的是,我似乎无法弄清楚如何将报表从我拥有的表格更改为一个有效的新表格。

如何修改此代码以使用新的 Templateview 表单?

【问题讨论】:

【参考方案1】:

您不应该为此使用通用视图,这不是它们的用途。如果你想渲染一个模板,你应该使用render shortcut:它采用完全相同的参数。

return render(request, 'bprofile/init.html', targs)

【讨论】:

是的,做到了。我只是在“direct_to_template(”上做了一个简单的查找和替换为“render(”),问题就解决了。干杯。【参考方案2】:

要使用TemplateView,您需要将 TemplateView 导入 urls.py:

from django.views.generic.base import TemplateView

然后你只需添加 urlconf:

('^about/$', TemplateView.as_view(template_name='bprofile/init.html'))

【讨论】:

以上是关于将 Django direct_to_template 函数转换为使用基于类的视图的主要内容,如果未能解决你的问题,请参考以下文章

Django + Angular:如何将 angularjs $http 数据或参数发送到 django 并在 django 中解释?

如何将 django-admin-bootstrapped 与 django 1.10 集成

将 django cms 作为应用程序导入现有的 django 项目

将 Google App Engine 应用程序从 Django 0.96 迁移到 Django 1.2

将 django-select2 与 django-filters 连接

Django - 如何将 javascript 变量保存到 Django 数据库中? [复制]