问题标签 [django-class-based-views]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
300 浏览

django - 在 Django 中更改为类视图时出现问题

升级后,我试图在 Django 中更改为基于类的视图,对此我有两个问题。这是我的代码,简化:

当我运行它时,我首先得到错误name 'SearchView' is not defined。有谁知道为什么?

试图跳过我添加from project.app.views import SearchView的丑陋而不是我希望它工作的方式,但是嘿,我试着看看我是否能让其余的工作。然后我global name 'request' is not defined因为messages. 这是有道理的,但我如何在这里获取请求对象?

所以我想知道:如何让视图按预期工作以及如何使用消息get_context_data()

0 投票
2 回答
1401 浏览

django - 将 django-endless-pagination 与扩展 ListView 的基于 c 的自定义视图一起使用

阅读django-endless-pagination的文档,它说您可以将其Ajax分页功能扩展到基于类的视图,只需使用 @page_template() 装饰器......我一直在尝试使用该装饰器实现该装饰器一个小时:

视图函数不会输出任何错误,但是当我转到另一个页面时,它会在目标中加载“global_template”,而不是在装饰器中定义的模板。

如果有人知道这个实现是否真的有效并且我犯了一些错误,请指出,我会很高兴以正确的方式使用它。

我设法想出了一个解决方法,所以如果有人遇到同样的问题并且对此没有合规的答案,您可以这样做:

干杯!

0 投票
1 回答
1293 浏览

django - Django 表单:为继承模型组织创建/更新表单的最 DRY 方式

我有 2 个多表继承模型,如下所示:

同样,BlogPost 的表单类也继承自 PostForm 类:

我曾经在 2 个非基于类的视图中处理两个模型的创建/更新。为了让事情变得干燥,我决定尝试一下 Django 的基于类的通用视图。但是由于相关文档缺乏示例和用户不友好以及各种方法,我感到困惑。

这个想法是为Post模型提供基于类的表单视图并为BlogPost. 我应该如何定制视图类?

我应该有单独的 PostCreate 和 PostUpdate 视图吗?然后这两个类几乎相同,根本不是 DRY。

我应该有一个FormView用于更新/创建帖子的单曲吗?它适用于创建,但我无法弄清楚如何进行更新。

我应该使用提供的 mixin 类而不是直接从视图继承来构建自定义视图(或用于创建/更新的两个视图)吗?

0 投票
4 回答
22021 浏览

python - 如何在 CreateView 中设置 ForeignKey?

我有一个模型:

如何编写创建新模型实例并将author外键设置为的基于类的视图request.user

更新:

解决方案移至下面的单独答案

0 投票
1 回答
2107 浏览

django - 我无法更新 Django 的 RedirectView。它一直引用状态为 301 Moved Permenantly 的旧 URL

抱歉,如果这个问题应该出现在 Server Vault 中。我真的不知道这是编程错误还是服务器配置错误。

我最近将我的 git 提交推送到实时服务器,我注意到一些非常令人沮丧的事情。

不管我怎么编辑urls.py,我似乎无法更新RedirectView

这是我的根mysite/urls.py

命名的 URLorder_list来自我的应用程序之一urls.py

所以基本上我只是在最后一次提交中更改r'^orders/$'为。r'^order/$'但每当我这样做时{% url home %},我注意到服务器一直在尝试重定向到路径/doors/orders/而不是/doors/order/. 我还注意到重定向是一个301 Moved Permanently.

所以我尝试添加并permenant=False重新RedirectView启动服务器。但它仍然会发生/doors/orders/并且重定向仍然是301(应该是302)!

为什么我没有RedirectView重定向到更新后的 URL?


服务器信息

在 Gentoo Linux 上使用 mod_wsgi 和 Django 1.4 运行 Apache 2.2.21

0 投票
1 回答
2422 浏览

django - 使用 DeleteObject 通用视图删除对象后重定向到父级

假设我有两个模型,Book 和 Page:

我需要删除一个页面并被重定向到该页面所属的特定书籍。为此,我创建了一个基于类的视图来删除页面:

问题是,由于在调用 get_success_url 之前删除了对象,因此此方法失败,并且出现 404 错误。

我怎么能做到?

更新:

遵循@DrTyrsa 的想法,我已经实现了它覆盖删除方法,所以类如下:

0 投票
2 回答
291 浏览

django - URLConf:根据用户权限限制对通用视图的访问 - 检查 url 参数

再会,

我的 URLConf 中有以下内容:

因此,只有经过身份验证的用户才能通过 url 访问视图功能。

问题:除了对通用视图进行子类化之外,有没有办法检查嵌入在 URL 中的 pk?我想进一步验证尝试访问更新功能的用户是否具有所需的权限。

文档没有详细介绍这个细节,我正在努力寻找任何其他参考。

0 投票
1 回答
5935 浏览

django - 图片上传和基于 CreateView 的视图

我希望能够使用 CreateView 和 ModelForm 上传图像文件,但我无法让它工作 - 在选择文件后,表单似乎没有绑定任何文件数据。这是视图的当前内容:

任何人都可以帮忙吗?一个基于类的图像上传视图的简单示例将不胜感激。

0 投票
1 回答
1041 浏览

django - Django 用户 HiddenInput 与使用基于类的视图直接保存在视图中

请将此作为考虑问题。也许有人会使用以下解决方案之一。

我有几个模型包含一个ForeignKey(User)字段。我的基于类的创建视图是从通用的CreateView.

添加新对象时,有两个选项可以保存关联的用户:

  1. 通过覆盖方法将表单保存在视图中form_valid;这不会暴露user_id(以及此处未提及的其他不应暴露的数据)

    /li>
  2. 将表单与存储(和公开)的用户 ID 保存在隐藏字段中。这是棘手的部分。有更多带有用户字段的模型......所以在创建表单时,我需要用初始(当前登录的)用户填充用户字段,并且我需要隐藏该字段。为此,我使用了我的OwnFormMixin

    /li>

还有更多CreateXXXView使用OwnFormMixin..

您如何将用户数据保存在表单中?

隐藏与直接保存在您的视图中?什么是优点/缺点?

0 投票
2 回答
4442 浏览

django - 从 django 中的 formview 保存 modelform 数据

所以我是 django 的新手,我正在为基于类的视图的文档而苦苦挣扎。不太确定我在这里做错了什么,但这就是问题所在:

我在表单上填写适当的数据,单击提交,然后我被重定向到相同的 url 以及一些get与我在表单中提交的内容相对应的参数。数据库中没有添加任何新内容。单击提交时,我想在数据库中创建一个新Advertisement行。

我有一个 ModelForm 如下:

我也有一个 FormView:

这是模板: