问题标签 [django-generic-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 投票
1 回答
536 浏览

inheritance - Django中的通用视图继承

问题是如何将 kwargs 从 URL 传递到父类视图?

网址.py

视图.py

查看第一类__ init __方法。

0 投票
2 回答
3218 浏览

django - django 获取 ForeignKey 相关模型的不同“孩子”列表(并在模板中执行此操作?)

我正在制作一个已发行音乐专辑的数据库

模型.py

在我的模板中(目前我正在使用通用视图)我有:

问题是,有时一张专辑已经发行了好几次,封面都是一样的,在这种情况下,我只想显示一次图片,并附上一些文字列出它所属的发行版。

我试过了:

或者在更简单的情况下,如果有多个图像,我至少希望将图像显示得更小。

是否可以通过反转此 ForeignKey 查找然后询问他们的孩子的集合来获得相关的对象列表?我能想到的唯一方法是在视图中组装一些元组/列表。

0 投票
1 回答
174 浏览

python - Django 编码风格:我应该在这里使用类装饰器吗?

我是整个 Django 的新手,因此,我决定从 ClassBased GenericViews 开始,而不是从旧的基于函数的 Generics 开始,这导致了缺乏文档的几个绊脚石。无论如何,到目前为止,我真的很喜欢 GenericViews,并且一直在用装饰器扩展它们。

我一直在做的简单例子

ideapad/urls.py

ideapad/views.py

sauce/decorators.py

我的问题是,就整体可读性和可维护性而言,是否有“更好”或“更可接受”的方式来做到这一点?或者它只是一种编码风格偏好?

我问的原因是,虽然我认为这种方式更具可读性,但我希望有朝一日这样做可以赚钱,并且不想养成奇怪的编码习惯,这会激怒同事编码风格非常受欢迎。谢谢。

0 投票
1 回答
4375 浏览

django - 如何在基于类的通用视图中访问 RequestContext?

我的 urls.py 中有这条路径:

现在我想在模板中检测页面是否为当前页面(这是用于菜单样式)。既不 工作{{ request.path }}也不{{ request.get_full_path }}在模板中工作。

我应该改用什么?

解决方案

为了request在模板中可用,我必须添加django.core.context_processors.requestTEMPLATE_CONTEXT_PROCESSORS. 这不是默认设置的(从 django 1.3 开始)。

0 投票
1 回答
146 浏览

python - Django 的 update_object 通用视图是否安全?为了安全起见,我应该扩展它还是自己做?

我是 Django 的新手。昨晚我努力开发了一个视图,该视图允许我编辑当前项目中的任何实体;章节、故事和世界。为了确保我准确地知道正在修改哪个数据库对象,我在表“编辑”中添加了一个数据库条目,该表存储了哈希、正在编辑的对象的类型(例如“章节”)以及该对象的 id在数据库中找到的对象。哈希作为隐藏输入添加到表单中。

在后端,提交表单后,我抓取哈希并使用它在数据库中查找相关的编辑项。然后我使用它来查找最初正在编辑的对象。这样做有两个原因:

  1. 我可以知道真正正在编辑的对象是什么。如果所有表单项都已更改,则没有什么可以比较(除了 URL)来实际知道正在编辑的对象。

  2. 用户应该无法破解前端来做一些奇怪的事情,比如修改错误的故事。

今天我发现 Django 有一个通用视图,叫做update_object. 这似乎为我处理了很多事情。但鉴于它不会自动使用数据库来确保正在编辑正确的对象,甚至不会确定正在编辑对象,这是否安全?肯定有一种简单的方法可以在前端通过修改 HTML 元素来破解它。

其次,如果这值得关注,您会建议我保留自己的编辑视图,还是扩展 update_object 视图,或其他解决方案?

最后,我是否以正确的方式进行?如果我没有以正确的方式考虑解决这个问题,请纠正我。

我不觉得这是一个需要代码的问题。这更像是一个关于表单安全性的一般性问题,因为它们与 Django 相关。

谢谢,

典范RG

0 投票
1 回答
6873 浏览

django - 为通用 get_context_data 扩展通用视图类

我经常看到自己不得不在我的许多观点的上下文中添加相同的额外变量。

由于我不喜欢重复自己,我想我可以创建一个扩展视图的新类,然后我可以将所有视图基于新的扩展视图类。问题是,我使用了 4 类视图:CreateView、UpdateView、ListView 和 DeleteView。我真的必须为每个人创建一个新课程吗?

没有像 Django“基础”视图类之类的东西吗?也许更聪明的方法可以做到这一点?

0 投票
1 回答
7810 浏览

python - Django - 基于类的 FormView 中的 Catch 参数

在我的页面上,我需要显示帖子详细信息和评论表单以供查看者发表评论。我创建了 2 个通用视图:

AddCommentView 中会出现错误,因为我没有为评论指定帖子的 ID。如何访问 AddCommentView 中的 post_id?

0 投票
2 回答
2401 浏览

python - FormView:视图没有返回 HttpResponse 对象

我知道这是由于视图的代码路径显然不返回HttpResponse. 我是 django 的新手,所以这可能是完全错误的。

这是 FormView 代码。我需要覆盖render_to_response吗?

0 投票
2 回答
223 浏览

django - 更正 Django 模板 url 变量以与通用视图 list_detail 一起使用

无论出于何种原因,我都很难找出在我的 url 模板标签中使用的正确变量以正确呈现我的模板。

我的 {% url 应该是什么???%} 变量是用来渲染这个firm_index.html 模板吗?

0 投票
1 回答
263 浏览

python - Django 通用视图 - 将数据发送到项目模板

我尝试从我的应用程序发送带有通用视图的数据

但是,无法通过 ic/p 此查询发送数据并返回结果。少了什么东西?

在 mysite/templates/index.html

什么都不打印