问题标签 [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 回答
3859 浏览

django - 如何在 Django 的基于类的视图中覆盖“as_view”?

我正在尝试在我的项目中引入基于类的视图。到目前为止看起来不错,直到我发现以下问题。

django-navigation用来创建面包屑。它的工作原理是这样的:一个视图函数被装饰,这个装饰器在该函数上引入了一个名为breadcrumb. 在模板中,当前 URL 或其部分得到解析,并检查结果视图的该属性。如果存在,则对其进行评估,结果是面包屑文本。

由于基于类的视图通常由as_view()方法表示,看来我需要装饰它,但是,由于它是一个类方法,我不能真正访问那里的实例,我的面包屑当然取决于它。

在 中附加breadcrumb属性也不起作用,或者我的语法错误。编辑当然它不起作用,因为我将它附加到,而不是它的返回值。as_view()__init__()as_view

任何想法如何正确集成面包屑装饰器和基于类的视图?

0 投票
1 回答
3217 浏览

django - select_related() 在基于类的通用视图中

我刚刚开始使用基于类的新(ish)视图,我想知道在其中获取 select_related() 的最佳方法是什么。这是我的看法:

该帖子来自 URL 中的“slug”。这很好用,但是,我想在那里获得 select_related() 以减少查询的数量。

0 投票
2 回答
4238 浏览

django - Django 示例 DeleteView

可能重复:
基于 Django 类的 DeleteView 示例

下班后搜索我只是不知道如何使用 DeleteView。对不起我的愚蠢?有人可以给我一个例子吗?

必须使用对象 pk 或 slug 调用 DeleteFormView
这个错误总是存在 做错了什么?

0 投票
2 回答
315 浏览

django - 用基于类的基于日期的通用视图替换 num_latest?

我已经切换到 Django 1.3,以便为基于日期的通用视图进行分页。这很好用,但是有一个页面我想要特定数量的项目但不希望它分页。例如,返回前 5 个新闻条目。

在 1.2 中,我们有 num_latest,我们可以将其放入 info dict 中以获取最新项目。新的基于类的通用视图似乎不存在这种情况。

我可以将 paginate_by 设置为 5,只是不使用模板中的分页链接,但是人们仍然可以通过手动输入 url 来查看旧条目(我不想要)。此外,我不希望 Django 设置我不会使用的分页。

编辑:这是我目前使用的 urlconf 行:

进一步编辑:尝试覆盖 get_dated_queryset 我已将这段代码与上面的 urlconf 结合使用,但新视图称为:

我得到了与评论中提到的几乎相同的错误:一旦切片被获取,就无法重新排序查询。

0 投票
1 回答
558 浏览

python - 将旧的基于函数的通用 CRUD 视图转换为新样式的基于类的通用 CRUD 视图

在我的项目中,我一直在使用 Django 的通用 CRUD 视图来处理很多事情。我现在想开始迁移到 DJango 1.3 中基于类的新样式通用 CRUD 视图。我没有发现文档很有帮助,并且可以使用一些帮助来转换我的一些基于函数的视图。以下是我的观点片段:

我想我会CreateView在第一个使用 a ,DeleteView在下一个使用 a 。到目前为止,这是我想出的:

你们中的一个可以告诉我重写一个基于类的视图吗?一个小小的跳跃开始会有很大的帮助,我相信我可以从那里开始。

谢谢。

0 投票
3 回答
1148 浏览

python - 如何向基于 Django 类的通用视图装饰器添加参数?

我写了一个装饰器来显示对象创建的成功消息:

并用它来装饰基于类的通用视图:

现在我想参数化装饰器,所以这是可能的:

我该怎么做?我尝试添加message参数,success_message但编译器抱怨参数计数不匹配,所以我认为必须有另一种方法。

0 投票
1 回答
1628 浏览

python - 我可以使用 mixins 结合基于类的创建和列表类的通用视图吗?

我正在寻找将 List 和 Create 功能与通用类视图结合起来的最简单方法。
我想要一个页面,其中包含一个项目列表和一个在底部添加新项目的表单。

我认为 mixin 架构将允许组合必要的类,但我还没有运气。

这几乎有效:

但是form在模板内部无法访问,并且在无效输出上崩溃(当表单有效时,这很好)。
这可能与多重继承有关,但我还没有真正进入 Python,所以它变得太混乱了。

有没有一种简单的方法可以将一些mixin组合成一个视图并创建视图,还是我必须推出自己的?

0 投票
1 回答
168 浏览

python - 如何使用 WeekArchiveView 默认显示最近一周的项目?

我对基于类的通用视图的文档如此之少感到惊讶。
任何比微不足道的样本稍微复杂的事情都必须通过猜测、反复试验来完成。

我想用来WeekArchiveView显示一周的项目列表。

这是我的urls.py条目:

当没有yearweek指定时,我得到一个错误页面。
我希望它们默认等于今天的年份和星期。

在这里进行调整的正确位置是什么?我应该引入另一种混合并覆盖一个方法吗?

0 投票
2 回答
436 浏览

python - 如何对 WeekArchiveView 进行分页?

继续我的斗争,我WeekArchiveView如何按周对它进行分页?

我想要的是:

  • 知道是否有下周/上周可用;
  • 如果有,请在模板中提供链接。

我希望它也能跳过空旷的几周。

显示get_next_day/get_prev_dayget_next_month/get_prev_month可用,但数周内都没有。

0 投票
1 回答
236 浏览

python - 星期一作为 WeekArchiveView 的一周的第一天

我如何说服WeekArchiveView星期一是一周的第一天?