根据Django中的对象模型数据库值使用不同的视图

时间:2011-12-05 06:39:48

标签: python django

我正在推出项目的第二版,我希望用户能够升级到新格式。它不会是强制升级,因此用户会说“让我的页面成为V2页面”。其网页的网址将保持不变。

我希望能够在视图中说:

def v1_page(request, page_id):
    page = get_object_or_404(Page, id=page_id)
    if page.upgraded:
        # use the v2 view instead (which ends with a return render_to_response('v2_base_page.html', variables))
        v2_page(request, page)
    else:
        # load this page 

或者我是以错误的方式去做的?我不想要大量的if / else语句。

1 个答案:

答案 0 :(得分:2)

函数应该返回v2_page调用的结果:

def v1_page(request, page_id):
    page = get_object_or_404(Page, id=page_id)
    if page.upgraded:
        return v2_page(request, page)
    else:
        # load this page