2011-12-05 60 views
1

我正在啓動項目的第二個版本,我希望用戶能夠升級到新格式。這不會是強制升級,所以用戶會說「讓我的頁面成爲V2頁面」。其網頁的網址將保持不變。根據Django中的對象模型數據庫值使用不同視圖

我希望能夠在視圖中說:

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

你有沒有考慮過使用重定向? https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirect –

+0

@CeasarBautista - 我真的不想讓它成爲一個重定向。我希望網址保持不變。 – Brenden

回答

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 
+0

謝謝。我不相信我沒有看到 – Brenden

相關問題