问题标签 [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.
django - 如何在 Django 的基于类的视图中覆盖“as_view”?
我正在尝试在我的项目中引入基于类的视图。到目前为止看起来不错,直到我发现以下问题。
我django-navigation
用来创建面包屑。它的工作原理是这样的:一个视图函数被装饰,这个装饰器在该函数上引入了一个名为breadcrumb
. 在模板中,当前 URL 或其部分得到解析,并检查结果视图的该属性。如果存在,则对其进行评估,结果是面包屑文本。
由于基于类的视图通常由as_view()
方法表示,看来我需要装饰它,但是,由于它是一个类方法,我不能真正访问那里的实例,我的面包屑当然取决于它。
在 中附加breadcrumb
属性也不起作用,或者我的语法错误。编辑:当然它不起作用,因为我将它附加到,而不是它的返回值。as_view()
__init__()
as_view
任何想法如何正确集成面包屑装饰器和基于类的视图?
django - select_related() 在基于类的通用视图中
我刚刚开始使用基于类的新(ish)视图,我想知道在其中获取 select_related() 的最佳方法是什么。这是我的看法:
该帖子来自 URL 中的“slug”。这很好用,但是,我想在那里获得 select_related() 以减少查询的数量。
django - Django 示例 DeleteView
下班后搜索我只是不知道如何使用 DeleteView。对不起我的愚蠢?有人可以给我一个例子吗?
必须使用对象 pk 或 slug 调用 DeleteFormView
这个错误总是存在 做错了什么?
django - 用基于类的基于日期的通用视图替换 num_latest?
我已经切换到 Django 1.3,以便为基于日期的通用视图进行分页。这很好用,但是有一个页面我想要特定数量的项目但不希望它分页。例如,返回前 5 个新闻条目。
在 1.2 中,我们有 num_latest,我们可以将其放入 info dict 中以获取最新项目。新的基于类的通用视图似乎不存在这种情况。
我可以将 paginate_by 设置为 5,只是不使用模板中的分页链接,但是人们仍然可以通过手动输入 url 来查看旧条目(我不想要)。此外,我不希望 Django 设置我不会使用的分页。
编辑:这是我目前使用的 urlconf 行:
进一步编辑:尝试覆盖 get_dated_queryset 我已将这段代码与上面的 urlconf 结合使用,但新视图称为:
我得到了与评论中提到的几乎相同的错误:一旦切片被获取,就无法重新排序查询。
python - 将旧的基于函数的通用 CRUD 视图转换为新样式的基于类的通用 CRUD 视图
在我的项目中,我一直在使用 Django 的通用 CRUD 视图来处理很多事情。我现在想开始迁移到 DJango 1.3 中基于类的新样式通用 CRUD 视图。我没有发现文档很有帮助,并且可以使用一些帮助来转换我的一些基于函数的视图。以下是我的观点片段:
我想我会CreateView
在第一个使用 a ,DeleteView
在下一个使用 a 。到目前为止,这是我想出的:
你们中的一个可以告诉我重写一个基于类的视图吗?一个小小的跳跃开始会有很大的帮助,我相信我可以从那里开始。
谢谢。
python - 如何向基于 Django 类的通用视图装饰器添加参数?
我写了一个装饰器来显示对象创建的成功消息:
并用它来装饰基于类的通用视图:
现在我想参数化装饰器,所以这是可能的:
我该怎么做?我尝试添加message
参数,success_message
但编译器抱怨参数计数不匹配,所以我认为必须有另一种方法。
python - 我可以使用 mixins 结合基于类的创建和列表类的通用视图吗?
我正在寻找将 List 和 Create 功能与通用类视图结合起来的最简单方法。
我想要一个页面,其中包含一个项目列表和一个在底部添加新项目的表单。
我认为 mixin 架构将允许组合必要的类,但我还没有运气。
这几乎有效:
但是form
在模板内部无法访问,并且在无效输出上崩溃(当表单有效时,这很好)。
这可能与多重继承有关,但我还没有真正进入 Python,所以它变得太混乱了。
有没有一种简单的方法可以将一些mixin组合成一个视图并创建视图,还是我必须推出自己的?
python - 如何使用 WeekArchiveView 默认显示最近一周的项目?
我对基于类的通用视图的文档如此之少感到惊讶。
任何比微不足道的样本稍微复杂的事情都必须通过猜测、反复试验来完成。
我想用来WeekArchiveView
显示一周的项目列表。
这是我的urls.py
条目:
当没有year
或week
指定时,我得到一个错误页面。
我希望它们默认等于今天的年份和星期。
在这里进行调整的正确位置是什么?我应该引入另一种混合并覆盖一个方法吗?
python - 如何对 WeekArchiveView 进行分页?
继续我的斗争,我WeekArchiveView
如何按周对它进行分页?
我想要的是:
- 知道是否有下周/上周可用;
- 如果有,请在模板中提供链接。
我希望它也能跳过空旷的几周。
源显示get_next_day
/get_prev_day
和get_next_month
/get_prev_month
可用,但数周内都没有。
python - 星期一作为 WeekArchiveView 的一周的第一天
我如何说服WeekArchiveView
星期一是一周的第一天?