python - 简而言之,什么是 Django 通用 View ?

标签 python django django-generic-views

本页的前两段解释了通用 View 应该让我的生活更轻松,不那么单调,让我对女性更具吸引力(最后一段是我编造的):

https://docs.djangoproject.com/en/1.4/topics/generic-views/

我完全是为了改善我的生活,但通用 View 实际上有什么作用?似乎有很多流行语被抛出,这比他们解释的更令人困惑。

通用 View 是否类似于 Ruby on Rails 中的脚手架?介绍中的最后一个要点似乎表明了这一点。这是一个准确的说法吗?

最佳答案

Django 通用 View 只是执行 Web 应用程序中非常常见的事情的 View 函数(常规的旧 Python 函数)。

根据您正在构建的应用类型,它们可以让您免于编写大量非常简单的 View 。

例如,direct_to_template 通用 View 仅使用 RequestContext 呈现模板(这意味着模板可以访问有关请求的信息,例如当前用户等)。

举个简单的例子,你可以这样写:

# urls.py
url('^some-url/$', some_view)

# views.py
def some_view(request):
    return render_to_response('template_name.html', context_instance=RequestContext(request))

仅此:

# urls.py
url('^some-url/$', direct_to_template, {'template': 'template_name.html'})

# views.py doesn't need any code for this view anymore

还有更复杂的通用 View 用于常见操作,例如“显示模型列表”或“将模型添加到数据库”。

此外,由于通用 View 只是函数,因此当您需要一些与通用情况不同的东西时,您可以在自己的 View 函数中调用它们来完成“大部分工作”。

关于python - 简而言之,什么是 Django 通用 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2437468/

相关文章:

python - Python 正则表达式问题中的捕获组

python - Python 的 Matplotlib 模块的奇怪行为 - 绘制圆

python - tkinter 循环和串行写入

python - 使用命令行 waitress-serve 进行日志记录

python - Django REST Framework TokenAuthentication 通常在 Django 中进行身份验证

python - 在 Django 模板中按索引引用列表项?

python - 我可以使用 mixin 组合基于 Create 和 List 类的通用 View 吗?

python - 具有多个模型的外键

python - 如何在 FormMixin 中添加两个 form_class?

Django:如何在通用创建 View 上设置隐藏字段?