<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg) ## WSGIRequest對象 Django在接收到http請求之后,會根據http請求攜帶的參數以及報文信息創建一個WSGIRequest對象,并且作為視圖函數第一個參數傳給視圖函數。也就是我們經常看到的request參數。在這個對象上我們可以找到客戶端上傳上來的所有信息。這個對象的完整路徑是django.core.handlers.wsgi.WSGIRequest。 ### WSGIRequest對象常用屬性 WSGIRequest對象上大部分的屬性都是只讀的。因為這些屬性是從客戶端上傳上來的,沒必要做任何的修改。 <ol> <li><code>path</code>:請求服務器的完整“路徑”,但不包含域名和參數。比如<code>http://www.baidu.com/xxx/yyy/</code>,那么<code>path</code>就是<code>/xxx/yyy/</code>。 </li> <li><code>method</code>:代表當前請求的<code>http</code>方法。比如是<code>GET</code>還是<code>POST</code>。 </li> <li><code>GET</code>:一個<code>django.http.request.QueryDict</code>對象。操作起來類似于字典。這個屬性中包含了所有以<code>?xxx=xxx</code>的方式上傳上來的參數。 </li> <li><code>POST</code>:也是一個<code>django.http.request.QueryDict</code>對象。這個屬性中包含了所有以<code>POST</code>方式上傳上來的參數。 </li> <li><code>FILES</code>:也是一個<code>django.http.request.QueryDict</code>對象。這個屬性中包含了所有上傳的文件。 </li> <li><code>COOKIES</code>:一個標準的Python字典,包含所有的<code>cookie</code>,鍵值對都是字符串類型。 </li> <li><code>session</code>:一個類似于字典的對象。用來操作服務器的<code>session</code>。 </li> <li><p><code>META</code>:存儲的客戶端發送上來的所有<code>header</code>信息。</p> </li> <li><p><code>CONTENT_LENGTH</code>:請求的正文的長度(是一個字符串)。</p> </li> <li><code>CONTENT_TYPE</code>:請求的正文的MIME類型。</li> <li><code>HTTP_ACCEPT</code>:響應可接收的Content-Type。</li> <li><code>HTTP_ACCEPT_ENCODING</code>:響應可接收的編碼。</li> <li><code>HTTP_ACCEPT_LANGUAGE</code>: 響應可接收的語言。</li> <li><code>HTTP_HOST</code>:客戶端發送的HOST值。</li> <li><code>HTTP_REFERER</code>:在訪問這個頁面上一個頁面的url。</li> <li><code>QUERY_STRING</code>:單個字符串形式的查詢字符串(未解析過的形式)。</li> <li><code>REMOTE_ADDR</code>:客戶端的IP地址。如果服務器使用了<code>nginx</code>做反向代理或者負載均衡,那么這個值返回的是<code>127.0.0.1</code>,這時候可以使用<code>HTTP_X_FORWARDED_FOR</code>來獲取,所以獲取<code>ip</code>地址的代碼片段如下:<pre><code class="lang-python"> <span class="hljs-keyword">if</span> request.META.has_key(<span class="hljs-string">'HTTP_X_FORWARDED_FOR'</span>): ip = request.META[<span class="hljs-string">'HTTP_X_FORWARDED_FOR'</span>] <span class="hljs-keyword">else</span>: ip = request.META[<span class="hljs-string">'REMOTE_ADDR'</span>] </code></pre> </li> <li><code>REMOTE_HOST</code>:客戶端的主機名。</li> <li><code>REQUEST_METHOD</code>:請求方法。一個字符串類似于<code>GET</code>或者<code>POST</code>。</li> <li><code>SERVER_NAME</code>:服務器域名。</li> <li><code>SERVER_PORT</code>:服務器端口號,是一個字符串類型。</li> </ol> ### WSGIRequest對象常用方法 <ol> <li><code>is_secure()</code>:是否是采用<code>https</code>協議。</li> <li><code>is_ajax()</code>:是否采用<code>ajax</code>發送的請求。原理就是判斷請求頭中是否存在<code>X-Requested-With:XMLHttpRequest</code>。</li> <li><code>get_host()</code>:服務器的域名。如果在訪問的時候還有端口號,那么會加上端口號。比如<code>www.baidu.com:9000</code>。</li> <li><code>get_full_path()</code>:返回完整的path。如果有查詢字符串,還會加上查詢字符串。比如<code>/music/bands/?print=True</code>。</li> <li><code>get_raw_uri()</code>:獲取請求的完整<code>url</code>。</li> </ol>
                  <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>

                              哎呀哎呀视频在线观看