嘿所有 -
我完全不熟悉Django/python,並且正在通過一個類的教程,位於here。我已經掌握了大部分工作,但我遇到了麻煩。我可以註冊一個用戶,但看起來不能登錄。有關本教程的相關部分,請搜索We’ll need one more form, a login form:
這一行,其中介紹瞭如何實現登錄表單。我做到了這一點,表單工作,我可以「登錄」,我確實在客戶端上獲得會話cookie。Django遇到問題,請求和登錄?
問題是,如果向下滾動一下,您將看到We should add a welcome message and login/logout links to our templates:
,它解釋瞭如何在用戶登錄時向用戶顯示歡迎信息,或者如果用戶沒有登錄,則會顯示登錄鏈接。問題是,登錄後,我仍然得到一個登錄鏈接!
現在,教程解釋了這一點。它說我需要做兩件事情:1)將下面的代碼在我的settings.py文件
TEMPLATE_CONTEXT_PROCESSORS = [
"django.core.context_processors.request"
]
2)創建一個名爲middleware.py這將設置request.user值。我已經做到了這一點,並重新啓動我的服務器,但我仍然有同樣的問題。 (該代碼是在教程,但我會貼在這裏也爲簡單起見):
from users.models import User
class UserMiddleware(object):
def process_request(self, request):
user_id = request.session.get("user_id")
if user_id is not None:
request.user = User.objects.get(pk=user_id)
else:
request.user = None
我試圖改變對第一部分的語法有點下面:
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.request",
)
哪個更好與settings.py中的其他行匹配,但這也沒有幫助。
我知道這是一個巨大的文字牆,但有人能指出我正確的方向嗎?這本身不是一項任務,只是一個稍後作業的教程,所以幫助真的很感謝!
我被告知如果視圖使用RequestContext,這不是必需的。不過,我該怎麼做才能保證安全? – Joseph 2010-11-29 10:37:51