2011-11-27 26 views
1

這是我的views.py:Python的模板

from django.http import HttpResponse 
from django.template.loader import get_template 
from django.template import Context 
def login(request): 
    t = get_template('login.html') 
    return HttpResponse(t.render) 

在我的urls.py我把

(r'^login/', include('project.views.login')), 

顯示我的模板

設置我的模板目錄中的settings.py

但我得到了一個錯誤,名爲

ImportError at /login/ 
No module named login 

怎麼了?

+1

如果你想詳細說明你正在嘗試做什麼,這將有所幫助。 –

+0

我想使用我的login.html login.html是在模板目錄中,但我得到了這個錯誤:S – snnlankrdsm

+0

你可以在這裏粘貼你的設置文件嗎? –

回答

3

include用於包含來自其他應用的其他url配置。如果你想爲一個特定視圖添加一個url模式,就不應該使用它。你應該有類似

(r'^login/', 'project.views.login'), 

另一個問題是你返回你的迴應的地方。 render是獲取上下文的方法(見the docs

def login(request): 
    t = get_template('login.html') 
    c = Context({}) 
    return HttpResponse(t.render(c)) 

在實踐中,你通常不會加載模板,渲染它,然後返回響應。有兩個快捷功能,renderrender_to_response,可以減少重複次數。

你在這裏犯了一些基本錯誤。我建議你通過Django教程來工作(再次,如果你已經看過他們)。 Tutorial 3特別解釋了所有這些東西。

+0

我只輸入「>」作爲輸出:S – snnlankrdsm

+0

它的名字是登錄但是索引頁面:D – snnlankrdsm

+0

什麼意思「>」在瀏覽器中我看到>>「這是輸出 – snnlankrdsm