<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 重定向應用 # Django 原生自帶一個可選的重定向應用。它將簡單的重定向保存到數據庫中并處理重定向。它默認使用HTTP 響應狀態碼`301 Moved Permanently`。 ## 安裝 ## 請依照下面的步驟安裝重定向應用: 1. 確保`django.contrib.sites` 框架已經安裝。 2. 添加'`django.contrib.redirects`' 到 `INSTALLED_APPS` 設置中。 3. 添加'`django.contrib.redirects.middleware.RedirectFallbackMiddleware`' 到`MIDDLEWARE_CLASSES` 設置中。 4. 運行命令`manage.py migrate`。 ## 它是如何工作的 ## `manage.py migrate` 在數據庫中創建一張`django_redirect` 表。它是一張簡單的查詢表,具有`site_id`、`old_path` 和`new_path` 字段。 `RedirectFallbackMiddleware` 完成所有的工作。每當Django 的應用引發一個404 錯誤,該中間件將到重定向數據庫中檢查請求的URL。它會根據`old_path` 和`SITE_ID` 設置的站點ID 查找重定向的路徑。 + 如果找到匹配的記錄且`new_path `不為空,它將使用301(“Moved Permanently”)重定向到`new_path` 。你可以子類化`RedirectFallbackMiddleware` 并設置 `response_redirect_class` 為`django.http.HttpResponseRedirect` 來使用302 Moved Temporarily 重定向。 + 如果找到匹配的記錄而`new_path` 為空,它將發送一個410 (“Gone”) HTTP 頭和空(沒有內容的)響應。 + 如果沒有找到匹配的記錄,請求將繼續正常處理。 這個中間件只針對404 錯誤啟用 —— 不能用于500 或其它狀態碼。 注意`MIDDLEWARE_CLASSES` 的順序很重要。通常可以將`RedirectFallbackMiddleware` 放在列表的最后,因為它最后執行。 更多的信息可以閱讀[中間件的文檔](http://python.usyiyi.cn/django/topics/http/middleware.html)。 ## 如何添加、修改和刪除重定向 ## ### 通過Admin 接口 ### 如果你已經啟用Django 自動生成的`Admin` 接口,你應該可以在`Admin` 的主頁看到“Redirects”部分。編輯這些重定向,就像編輯系統中的其它對象一樣。 ### 通過Python API ### `class models.Redirect` 重定向通過一個標準的Django 模型表示,位于`django/contrib/redirects/models.py`。你可以通過Django 的數據庫API 訪問重定向對象。 ## 中間件 ## `class middleware.RedirectFallbackMiddleware` 你可以通過創建`RedirectFallbackMiddleware` 的子類并覆蓋`response_gone_class` 和/或`response_redirect_class` 來修改中間件使用的`HttpResponse`類。 `response_gone_class` ``` New in Django 1.7. ``` `HttpResponse` 類,用于找不到請求路徑的`Redirect`或找到的`new_path` 值為空的時候。 默認為`HttpResponseGone`。 `response_redirect_class` ``` New in Django 1.7. ``` 處理重定向的`HttpResponse` 類。 默認為`HttpResponsePermanentRedirect`。 > 譯者:[Django 文檔協作翻譯小組](http://python.usyiyi.cn/django/index.html),原文:[Redirects](https://docs.djangoproject.com/en/1.8/ref/contrib/redirects/)。 > > 本文以 [CC BY-NC-SA 3.0](http://creativecommons.org/licenses/by-nc-sa/3.0/cn/) 協議發布,轉載請保留作者署名和文章出處。 > > [Django 文檔協作翻譯小組](http://python.usyiyi.cn/django/index.html)人手緊缺,有興趣的朋友可以加入我們,完全公益性質。交流群:467338606。
                  <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>

                              哎呀哎呀视频在线观看