1

是否可以在视图注释中指定模板名称。

我想在我的views.py中做类似的事情:而不是:

def home(request, url):    
    page = PageFactory.create_for_url(url)    
    return render_to_response('front/home.html', {'page': page})

我宁愿这样做:

@view('front/home.html')
def home(request, url):    
    page = PageFactory.create_for_url(url)    
    return {'page': page}

可行吗?

4

1 回答 1

1

有几个自制的装饰师可以做到这一点

以下看起来是一个好的开始

def renderer(func):
        def wrapper(request, *args, **kw):
            output = func(request, *args, **kw)
            if isinstance(output, (list, tuple)):
                return render_to_response(output[1], output[0], RequestContext(request))
            elif isinstance(output, dict):
                return render_to_response(template, output, RequestContext(request))
            return output
        return wrapper
    return renderer

http://djangosnippets.org/snippets/821/

谷歌结果产生 4-5。

于 2012-08-03T22:52:36.397 回答