簡體   English   中英

django form.as_p 中的表單不同

[英]Form in django form.as_p different

什么 form.to_p 准確返回?

我的意思是

這段代碼:

            <form action="{{ action }}" method="post" enctype="multipart/form-data">
                {% csrf_token %}
                        <input type="text" name="title_field" id="form.title}}"/>
                        <input type="text" name="author_field" id="form.author }}"/>
                        {{ form.content }}
                        <input type="submit" value="Send"/>
            </form>

不起作用,而不是此代碼有效:

            <form action="" method="post" enctype="multipart/form-data">
                {% csrf_token %}
                {{ form.as_p }}
                <input type="submit" value="Send"/>
            </form>

當然,在第一種情況下,我可以在 html/css 特定字段中進行樣式化。

@編輯

通過工作,我的意思是轉發。 在第一秒什么都不做

表單在 Django 中有幾個可選的渲染選項:as_p、as_table、a​​s_ul

沒有任何渲染選項:

<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<input type="submit" value="Send"/>
</form>

將呈現如下所示的表單:

<form action="" method="post" enctype="multipart/form-data">
<input>
<input>
<input>
...
</form>

添加渲染選項 as_p 只是將輸入字段包裝在段落標簽中。 所以在這里添加 as_p :

<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send"/>
</form>

將呈現如下所示的表單:

<form action="" method="post" enctype="multipart/form-data">
<p><input></p>
<p><input></p>
<p><input></p>
...
</form>

要查看{{ form.as_p }}輸出的內容,您可以在瀏覽器中單擊“查看源代碼”並查看呈現的 html。

我不建議像您的第一個示例那樣手動渲染字段。 很容易犯錯誤。 例如,您忘記了開頭{{ in id="form.title}}"

如果需要向輸入添加自定義類,可以通過更改字段的小部件來實現 或者,您可能會發現酥脆的形式很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM