內查看這看起來非常簡單,但是,雖然我可以猜到,你如何讓一個視圖中的視圖,或者更準確地說,是一個動態的模板內的動態模板。你看,我有這些塊的HTML包含某些事情的統計資料。我將如何創建一個返回其中一個框的視圖,以便另一個視圖可以將它們插入到模板塊中?它是「確定」,只是它返回它的功能,還是我「必須」遵循相同functionName(request)
的事情,而不是functionName(info1, info2, info3)
像一個正常的功能。這看起來很普遍,會有某種標準。Django的:觀點
0
A
回答
1
如果我理解你,你基本上是在談論預填充模板內容。基本上,你需要在許多視圖中存在一個共同的上下文環境,但是你不想爲每個視圖重複自己。使用基於函數的觀點,最好的辦法是簡單地具有泛型方法,它利用這個護理:
def add_some_context(context={}):
context['foo'] = 'bar'
return context
def view1(self, request):
context = {
'something1': 'blah',
}
return render_to_response('template1.html', add_some_context(context), context_instance=RequestContext(request))
def view2(self, request):
context = {
'something2': 'blah',
}
return render_to_response('template2.html', add_some_context(context), context_instance=RequestContext(request))
這兩種觀點都將有你可以使用一個foo
上下文變量,然後。與基於類的意見做,你可以創建一個混合類:
class MyViewMixin(object):
def get_context_data(self, **kwargs):
context = super(MyViewMixin, self).get_context_data(**kwargs)
context['foo'] = 'bar'
return context
class MyView1(MyViewMixin, DetailView):
...
class MyView2(MyViewMixin, ListView):
...
當談到時間把它添加到實際的模板,你可以在每個視圖的模板,從實現foo
上下文變量模板繼承某種程度上來說。
如果是應該應用於視圖的每個視圖,那麼上下文處理器更合適,但如果只是針對少數視圖,那麼這兩種方法將爲您提供良好的服務。
2
這正是custom template tags - 尤其是包含標籤 - 是。
相關問題
- 1. Django的觀點質疑
- 2. Django的TemplateSyntaxErrors基於類的觀點
- 3. 從Django-Oscar擴展客戶的觀點
- 4. 驗證令牌GET和Django的觀點
- 5. Django的觀點:如何從字典
- 6. Django的進口觀點在urls.py
- 7. 添加在Django簡單的觀點
- 8. Django的布爾字段觀點+模板
- 9. Django的觀點:從計數模式
- 10. 可能是什麼問題(Django觀點)...?
- 11. IPv6的觀點
- 12. Django的教程:自定義404和500的觀點
- 13. 基於Django類的觀點,這是正確的方法嗎?
- 14. 的Django增加一個「打」的觀點在當天
- 15. Django的觀點:良好的編程習慣問題
- 16. 的Drupal 6:觀點
- 17. 的觀點:意見
- 18. 錯誤的觀點
- 19. IdeaBank上的觀點?
- 20. drupal的觀點---它
- 21. jquery.unobtrusive-ajax.min的觀點
- 22. Django的@login_required觀點仍顯示當用戶通過Chrome上
- 23. Django POST請求從我的觀點從Pyres工人 - CSRF令牌
- 24. Django的觀點並不location.reload後正確渲染()
- 25. Django的觀點基於緩存與authed用戶
- 26. Django REST觀點:返回沒有模型的圖像
- 27. Django的從另一個觀點訪問JSONResponse文件
- 28. 不能分割Django的觀點到子文件夾
- 29. NSLayoutConstraint'的觀點是不是一個關鍵的觀點dictionary`
- 30. 個人觀點
查看自定義模板標籤。 – 2012-08-03 19:39:33