如何制作灵活的通用视图?
目前我有两个模型,一个用于苹果,一个用于梨,还有一个我想要使用的模板。
from django.views import generic
class AppleIndexView(generic.ListView):
template_name = 'fruit/index.html'
context_object_name = 'apple_list'
def get_queryset(self):
return Apple.objects.values()
class PearIndexView(generic.ListView):
template_name = 'fruit/index.html'
context_object_name = 'pear_list'
def get_queryset(self):
return Pear.objects.values()
有没有办法更干?应该有更好的方法。
感谢您的时间
编辑其他请求
有人可以将此示例写成统一视图,是否可以解除绑定到一个模型。所以我可以看到它应该是。
答案 0 :(得分:0)
实际上,您只需要提供模型或查询集,如果您遵循主体,则不需要提供template_name或context_object_name,在列表模板中,您可以访问context_object名称:
modelname_list
或只是
object_list
如果你不提供。 在
中创建模板app_dir/templates/app_dir/<model_name>_list.html
你不需要任何其他东西。