假设我有一个名为Card
的模型:
在模型.py在
class Card(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=10, blank=True)
现在让我们假设我有一个观点:
在视图.py在
^{pr2}$我的问题如下:如何重构CardView
,以便将卡片过滤抽象为可继承的超类?在ListView中,我知道我可以创建另一个继承自object
的类,重写get_context_data
,然后像这样调用它:class CardListView(CardObjectsMixin, ListView)
,但是否可以对泛型View
执行相同的操作?在
ListViews已经包含了这个功能。您所要做的就是重写
get_queryset
以返回按用户筛选的qs;然后您的所有视图都可以继承它。在还要注意,您几乎不应该重写
get
本身;总有更好的方法可以使用,如这里所示。在当然可以。可以按如下方式创建类:
因为}扩展。在
^{pr2}$CardView
从CardCustomView
扩展而这一个从{CardView
中,您可以访问View
的任何属性或方法(listed here),以及您在CardCustomView
中创建的任何属性或方法。举个例子:然后您可以:
关于您的评论,基本
View
类没有.get_context_data()
方法,正如您在上面提供的链接中看到的那样。在相关问题 更多 >
编程相关推荐