我有一個簡單的問題。我在django中有一個功能齊全的網站,它有一個標題,菜單和頁腳,永不改變,內容也會發生變化。我簡單的模板看起來像這樣:
base.html文件在django中修改視圖以處理ajax請求
<html>
...header...
<body>
...menu...
{%block content%}{%endblock%}
...footer...
</body>
</html>
和content.html
{%extends 'base.html'%}
{%block content%}...content according to selected menu item...{%endblock%}
這一點,一切工作正常。 現在我決定,對於已啓用javascript的用戶,我可以添加ajax調用,因此無論何時點擊上級菜單項(將有onClick),只有「content」塊被升級。我的問題是:我可以重複使用我的原始以某種方式查看和修改它以適應兩種需求 - 常規調用和ajax調用?或者我應該以某種方式重新設計我的模板?還是我需要爲每個單獨的視圖?
我的簡化圖的樣子:
def main(request,site):
...some site processing...
return render_to_response('content.html',{'content':...site content...})
謝謝
這很有趣,謝謝,我會試試看。 – MartinM
我是會接受這個答案,因爲它會讓我找到最終的解決方案。基本的想法是,如果你想在你的django應用中使用ajax,並且不必爲它輸入很多額外的代碼,那就是以不同的方式考慮模板。您不應該擴展模板,而應該包含您希望以後通過Ajax更新的模塊。如果請求是常規的,那麼你只需渲染基礎(或者任何擴展基礎),如果Ajax只渲染片段,然後將其放置在應該出現的位置 - 很棒的是 - 你可以在一個視圖中進行。檢查[this](http://www.micahcarrick.com/ajax-form-submission-django.html) – MartinM