如何在Generic Views django中使用mako模板

时间:2015-04-15 10:08:40

标签: python django django-templates mako edx

我在一个项目中实现了django-bootstrap-crud-templates(BSCT https://github.com/Alem/django-bootstrap-crud-templates)app。 在同一个项目中还有另一个名为“demoapp”的应用程序。 Demoapp使用mako模板库。

BSCT app的模板是使用django模板制作的。现在,我想在这个bsct应用程序中使用我的demoapp应用程序的base.html,或者我可以使用另一个应用程序中的模板。

但问题是,如果我想使用其他应用程序中的模板,那么我必须在通用视图(views.py)中调用它们,如下所示,但是当我这样做时,它会给我错误。

来自django.views import generic 来自edxmako.shortcuts导入render_to_response

class CreateView( generic.CreateView ):
    # template_name = 'bsct/plain/form.html'
    template_name = 'demoapp/templates/somepage.html'

    def get_context_data(self):
        context ={'name':"jay"}
        return render_to_response(context)

如果这是错的那么请帮帮我..! 错误:

get_context_data() got an unexpected keyword argument 'form'

那么,如何在使用django模板的bsct app中使用mako模板。我是mako模板和django通用视图的新手。

1 个答案:

答案 0 :(得分:0)

使用Django的通用视图时,get_context_data()方法接受关键字参数。

您的方法应如下所示

def get_context_data(self, **kwargs):
    context = super(CreateView, self).get_context_data(**kwargs)
    context.update({'name':'jay'})
    return context