从 generic.DetailView 传递上下文数据

Tan*_*eer 1 python generics django detailview

如何将来自 forms.py 的上下文数据传递给使用通用 detailView 的视图类,我需要将 forms.py 传递给我的产品详细信息页面。

这是我的视图类的代码

class ProductView(generic.DetailView):
model = Product
cart_product_form = CartAddProductForm()
context = {'cart_product_form': cart_product_form}
template_name = 'shopping/product.html'
query_pk_and_slug = True
Run Code Online (Sandbox Code Playgroud)

如果这不正确,请告诉我

Ala*_*air 6

覆盖get_context_data,并在返回之前将表单添加到上下文中。

class ProductView(generic.DetailView):
    model = Product
    template_name = 'shopping/product.html'
    query_pk_and_slug = True

    def get_context_data(self, **kwargs):
        context = super(ProductView, self).get_context_data(**kwargs)
        cart_product_form = CartAddProductForm()
        context['cart_product_form'] = cart_product_form
        return context
Run Code Online (Sandbox Code Playgroud)