如何在同一页面上显示modelForm CreateView和一个listView。 基本上我希望用户通过输入他们的姓名等来保留租金。页面顶部和页面底部显示有关车辆的信息(型号,品牌等)
我正在使用基于类的视图。
class CustomerOrderCreate(CreateView):
template_name = 'webapp/index.html'
model = CustomerOrder
form_class = CustomerOrderCreateForm // This works
vehicleData = VehicleOrder.objects.all() // This Does not
答案 0 :(得分:0)
您可以继续使用CreateView并在上下文中添加列表,如下所示:
class CustomerOrderCreate(CreateView):
template_name = 'webapp/index.html'
model = CustomerOrder
form_class = CustomerOrderCreateForm
def get_context_data(self, **kwargs):
return dict(
super(CustomerOrderCreate, self).get_context_data(**kwargs),
vehicle_orders=VehicleOrder.objects.all()[0:100]
)
然后在您的模板中,您可以执行以下操作:
{% for order in vehicle_orders %}
...
{% endfor %}
或者,特别是如果您要添加更多自定义逻辑,则可以使用视图功能。基于类的视图很棒,但可以很快变得大/复杂。