<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] django需要使用一個中間價來實現 `session`功能, 一般情況下默認啟用了該中間價 ,可以在 `settings.py` 的 `MIDDLEWARE` 設置項目中查看。 ```python MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ``` 確保下邊這句話的存在 ``` 'django.contrib.sessions.middleware.SessionMiddleware', ``` ## 配置儲存引擎 session可以存儲在數據庫,本地緩存中,需要在 `settings.py` 文件中設置。 ### 存儲在sql數據庫 默認情況下,django將session存儲在數據庫中,在 `settings.py ` 文件的 `INSTALLED_APPS` 配置項中確認有 `'django.contrib.sessions'` 的存在。 可以設置如下配置項,也可以不寫,因為是django的默認配置項。 ``` SESSION_ENGINE='django.contrib.sessions.backends.db' ``` 運行 `manage.py migrate` 命令進行數據庫遷移,在數據庫內創建sessions表。 ### 儲存在緩存 添加配置項 ``` SESSION_ENGINE='django.contrib.sessions.backends.cache' ``` 但是只把數據儲存在緩存中是不安全的。因為一旦緩存滿了,系統會自動清除部分數據,服務器重啟會清除全部數據。 為了保證數據安全,可以使用以下配置項,在儲存在緩存的時候,也會在數據庫中儲存一份,保證數據安全。 ``` SESSION_ENGINE='django.contrib.sessions.backends.cached_db' ``` ### 儲存在本地文件 添加配置項 ``` SESSION_ENGINE='django.contrib.sessions.backends.file' ``` 同時,必須正確配置SESSION_FILE_PATH(默認使用tempfile.gettempdir()方法的返回值),確保你的文件存儲目錄,以及Web服務器對該目錄具有讀寫權限。 ### 儲存在redis 添加配置項 ```python CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } SESSION_ENGINE = "django.contrib.sessions.backends.cache" SESSION_CACHE_ALIAS = "default" ``` `redis://127.0.0.1:6379/1` 代表儲存在本機redis的一號庫。 如果redis不是在本機,需要修改redis的配置文件,添加特定ip地址。 Linux環境下,redis的配置項在 `/etc/redis/redis.conf` 在 `bind` 配置項添加地址即可 `bind 127.0.0.1 xxx.xxx.xxx.xxx` 添加后重啟redis服務 `sudo service redis-server restart` ## session操作 通過 `HttpRequest` 對象的session屬性進行會話的讀寫操作。 以鍵值對的格式寫session。 ``` request.session['鍵']=值 ``` 根據鍵讀取值。 ``` request.session.get('鍵',默認值) ``` 清除所有session,在存儲中刪除值部分。 ``` request.session.clear() ``` 清除session數據,在存儲中刪除session的整條數據。 ``` request.session.flush() ``` 刪除session中的指定鍵及值,在存儲中只刪除某個鍵及對應的值。 ``` del request.session['鍵'] ``` 設置session的有效期 ``` request.session.set_expiry(value) ``` - 如果value是一個整數,session將在value秒之后,沒有活動后過期。 - - 如果value為0,那么用戶session的Cookie將在用戶的瀏覽器關閉時過期。 - - 如果value為None,那么session有效期將采用系統默認值,默認為兩周,可以通過在settings.py中設置SESSION_COOKIE_AGE來設置全局默認值。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看