我正在推出项目的第二版,我希望用户能够升级到新格式。它不会是强制升级,因此用户会说“让我的页面成为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语句。
答案 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