到目前爲止,Django的文檔技術性太強。如何創建會話並在其中存儲變量或從中獲取變量?我是Django框架的新手,因此文檔過於技術化。會議是我的「最後一步」。在Django中創建會話
11
A
回答
23
假設你想基於數據庫會話(Django的同時也提供基於文件的會話,並根據緩存的會話):
- 打開settings.py,找到
MIDDLEWARE_CLASSES
。將'django.contrib.sessions.middleware.SessionMiddleware'
添加到列表中。 - 在同一個文件中找到
INSTALLED_APPS
,並在那裏添加'django.contrib.sessions'
。從命令行運行。
初始設置後,您可以在視圖中使用request.session
來在請求之間存儲信息。
例如,這將存儲的信息:
request.session['name'] = 'Ludwik'
,你可以爲伊斯利檢索:
print request.session['name']
或
if request.session['name'] == 'Ludwik':
print 'you are awesome!'
對於其他的東西,你可以用做request.session
對象請參閱the documentation。
4
路德維克的答案是要走的路,但如果你想要一個更溫和的介紹Django的世界,(the (free) Django Book)是一個必讀。 Chapter 15處理會話。
0
MIDDLEWARE_CLASSES應該有 -
'django.contrib.sessions.middleware.SessionMiddleware'
INSTALLED_APPS應該有 -
'django.contrib.sessions'
改變我們的登錄以拯救我們的用戶名Cookie服務器端 -
def login(request):
username = 'not logged in'
if request.method == 'POST':
MyLoginForm = LoginForm(request.POST)
if MyLoginForm.is_valid():
username = MyLoginForm.cleaned_data['username']
request.session['username'] = username
else:
MyLoginForm = LoginForm()
return render(request, 'loggedin.html', {"username" : username}
創建FormView的觀點登錄表單,如果cookie已設置,我們將不顯示錶單 -
def formView(request):
if request.session.has_key('username'):
username = request.session['username']
return render(request, 'loggedin.html', {"username" : username})
else:
return render(request, 'login.html', {})
變化url.py文件更改URL,因此對我們的新視角 -
from django.conf.urls import patterns, url
from django.views.generic import TemplateView
urlpatterns = patterns('myapp.views',
url(r'^connection/','formView', name = 'loginform'),
url(r'^login/', 'login', name = 'login'))
url(r'^logout/', 'logout', name = 'logout'),
創建刪除我們的Cookie簡單註銷視圖。
def logout(request):
try:
del request.session['username']
except:
pass
return HttpResponse("<strong>You are logged out.</strong>")
相關問題
- 1. 創建Django會話
- 2. Django創建會話
- 3. 在Django中禁用會話創建
- 4. 創建匿名django會話
- 5. 創建會話時在Grails中創建會話變量
- 6. 在C#中創建會話#
- 7. 如何在django中獲取在php中創建的會話?
- 8. 創建Django的會話令牌從
- 9. 創建會話
- 10. 創建會話
- 11. 如何在django中創建我自己的會話表
- 12. 在django/selenium中創建預認證會話Web測試
- 13. 會話創建在WCF
- 14. 創建Web會話
- 15. REST - 創建會話
- 16. Php不在webmatrix中創建會話
- 17. 避免在Spring中創建會話
- 18. 如何在ZF2中創建會話
- 19. 在jquery mobile中創建會話變量
- 20. 在MonoDroid中創建用戶會話
- 21. 在liferay中創建Domino會話
- 22. 在Mule中創建會話密鑰池
- 23. 如何在Spring Junit中創建會話
- 24. 在C#webservice中創建會話
- 25. 如何在Catalyst中創建會話?
- 26. 在VBA中創建MAPI會話
- 27. 如何在web2py中創建Auth會話?
- 28. 如何在odata中創建會話?
- 29. 在oracle中創建新會話
- 30. 會話如何在JSP中創建?