<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 第一節:表單概述 # 表單: ## HTML中的表單: 單純從前端的`html`來說,表單是用來提交數據給服務器的,不管后臺的服務器用的是`Django`還是`PHP`語言還是其他語言。只要把`input`標簽放在`form`標簽中,然后再添加一個提交按鈕,那么以后點擊提交按鈕,就可以將`input`標簽中對應的值提交給服務器了。 ## Django中的表單: `Django`中的表單豐富了傳統的`HTML`語言中的表單。在`Django`中的表單,主要做以下兩件事: 1. 渲染表單模板。 2. 表單驗證數據是否合法。 ## Django中表單使用流程: 在講解`Django`表單的具體每部分的細節之前。我們首先先來看下整體的使用流程。這里以一個做一個留言板為例。首先我們在后臺服務器定義一個表單類,繼承自`django.forms.Form`。示例代碼如下: ``` <pre class="calibre12">``` <span class="hljs-title"># forms.py</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MessageBoardForm</span><span class="hljs-params">(forms.Form)</span>:</span> title = forms.CharField(max_length=<span class="hljs-params">3</span>,label=<span class="hljs-string">'標題'</span>,min_length=<span class="hljs-params">2</span>,error_messages={<span class="hljs-string">"min_length"</span>:<span class="hljs-string">'標題字符段不符合要求!'</span>}) content = forms.CharField(widget=forms.Textarea,label=<span class="hljs-string">'內容'</span>) email = forms.EmailField(label=<span class="hljs-string">'郵箱'</span>) reply = forms.BooleanField(required=<span class="hljs-keyword">False</span>,label=<span class="hljs-string">'回復'</span>) ``` ``` 然后在視圖中,根據是`GET`還是`POST`請求來做相應的操作。如果是`GET`請求,那么返回一個空的表單,如果是`POST`請求,那么將提交上來的數據進行校驗。示例代碼如下: ``` <pre class="calibre12">``` <span class="hljs-title"># views.py</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">IndexView</span><span class="hljs-params">(View)</span>:</span> <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get</span><span class="hljs-params">(self,request)</span>:</span> form = MessageBoardForm() <span class="hljs-keyword">return</span> render(request,<span class="hljs-string">'index.html'</span>,{<span class="hljs-string">'form'</span>:form}) <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">post</span><span class="hljs-params">(self,request)</span>:</span> form = MessageBoardForm(request.POST) <span class="hljs-keyword">if</span> form.is_valid(): title = form.cleaned_data.get(<span class="hljs-string">'title'</span>) content = form.cleaned_data.get(<span class="hljs-string">'content'</span>) email = form.cleaned_data.get(<span class="hljs-string">'email'</span>) reply = form.cleaned_data.get(<span class="hljs-string">'reply'</span>) <span class="hljs-keyword">return</span> HttpResponse(<span class="hljs-string">'success'</span>) <span class="hljs-keyword">else</span>: print(form.errors) <span class="hljs-keyword">return</span> HttpResponse(<span class="hljs-string">'fail'</span>) ``` ``` 在使用`GET`請求的時候,我們傳了一個`form`給模板,那么以后模板就可以使用`form`來生成一個表單的`html`代碼。在使用`POST`請求的時候,我們根據前端上傳上來的數據,構建一個新的表單,這個表單是用來驗證數據是否合法的,如果數據都驗證通過了,那么我們可以通過`cleaned_data`來獲取相應的數據。在模板中渲染表單的`HTML`代碼如下: ``` <pre class="calibre12">``` <span class="hljs-tag"><<span class="hljs-class">form</span> <span class="hljs-class">action</span>=<span class="hljs-string">""</span> <span class="hljs-class">method</span>=<span class="hljs-string">"post"</span>></span> <span class="hljs-tag"><<span class="hljs-class">table</span>></span> <span class="hljs-tag"><<span class="hljs-class">tr</span>></span> <span class="hljs-tag"><<span class="hljs-class">td</span>></span><span class="hljs-tag"></<span class="hljs-class">td</span>></span> <span class="hljs-tag"><<span class="hljs-class">td</span>></span><span class="hljs-tag"><<span class="hljs-class">input</span> <span class="hljs-class">type</span>=<span class="hljs-string">"submit"</span> <span class="hljs-class">value</span>=<span class="hljs-string">"提交"</span>></span><span class="hljs-tag"></<span class="hljs-class">td</span>></span> <span class="hljs-tag"></<span class="hljs-class">tr</span>></span> <span class="hljs-tag"></<span class="hljs-class">table</span>></span> <span class="hljs-tag"></<span class="hljs-class">form</span>></span> ``` ``` 我們在最外面給了一個`form`標簽,然后在里面使用了`table`標簽來進行美化,在使用`form`對象渲染的時候,使用的是`table`的方式,當然還可以使用`ul`的方式(`as_ul`),也可以使用`p`標簽的方式(`as_p`),并且在后面我們還加上了一個提交按鈕。這樣就可以生成一個表單了
                  <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>

                              哎呀哎呀视频在线观看