理解Django类视图混入
Django中的Mixin是什么?我该如何开始使用它,什么时候使用比较好?有没有人能给我一个实际的例子,让我更好地理解它?
1 个回答
6
你有没有看过这个链接:https://docs.djangoproject.com/en/dev/topics/class-based-views/mixins/ ?
我不太确定我的例子是否相关,但这是我经常使用的一个混入类...
class OwnedObjectsMixin(object):
def form_valid(self, form):
form.instance.owner = self.request.user
form.full_clean()
if form.is_valid():
return super(OwnedObjectsMixin, self).form_valid(form)
else:
return super(OwnedObjectsMixin, self).form_invalid(form)
def get_queryset(self):
self.user_id = self.request.user.id
return self.model.objects.filter(owner=self.user_id)
class MyModelList(OwnedObjectsMixin, ListView):
model = myModel