![](/img/trans.png)
[英]OperationalError at /no such table: django_session error on public server, site works fine on local server
[英]Session data works in local server, not in server - Django
我有一個 Django 應用程序,它使用 cookie 會話將數據從一個模板/函數傳遞到另一個模板/函數。
我面臨的問題是,雖然使用基於文件的 cookie 設置 cookie,但它在本地完美地工作,但是當我嘗試在 Digital Ocean 開發服務器中設置相同的會話時,它由於某種未知原因而失敗。
這是帶有會話的事務的文件
設置.py
嘗試1:
SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies"
SESSION_COOKIE_NAME = "user_session"
SESSION_COOKIE_HTTPONLY = True
SESSION_SAVE_EVERY_REQUEST = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
嘗試2:
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
SESSION_FILE_PATH = os.path.join(BASE_DIR, "session")
視圖.py
def pre_login(request):
request.session['pre_login'] = data
....
def index(request):
user_data = request.session['pre_login']
....
在瀏覽器中檢查 cookie 會話時,它會為 Localhost 創建一個 sessionid。 但是當檢查相同代碼的會話時,我的開發服務器什么都沒有。
您正在設置請求中的值。 當您嘗試在另一個視圖中獲取它時,您超出了范圍。
https://docs.djangoproject.com/en/4.0/topics/http/sessions/#using-sessions-out-of-views
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.