0
django中的手動編碼形式(以及views.py中的所有驗證)和使用django的形式庫之間是否存在任何性能差異?如果它們大致相同,那麼在哪種情況下可以使用內置的手形編碼表單?Handcoding forms vs django forms
另外,如何手動編碼HTML模板並使用django塊標籤等來重新使用某些區域?
django中的手動編碼形式(以及views.py中的所有驗證)和使用django的形式庫之間是否存在任何性能差異?如果它們大致相同,那麼在哪種情況下可以使用內置的手形編碼表單?Handcoding forms vs django forms
另外,如何手動編碼HTML模板並使用django塊標籤等來重新使用某些區域?
您是否有瘋狂的零容忍性能要求?如下:如果一個頁面需要額外的幾毫秒渲染,人們是否會死亡或受到傷害,否則你會被解僱?我對此表示懷疑,所以讓框架提升到需要對HTML輸出進行更多控制的地步 - 實際上,這遠比您需要避免執行一些Python來保存(在完全猜測)15ms。
當你需要更多的控制,這時候,最好在一些手工製作的HTML拼接,或者 - 甚至更好 - 創建包含/分的表單字段可以重複使用無處不在,爲您節省的手工編寫更多的時間比你需要,但仍然給你更大的靈活性比myform.as_p
等
這裏是一個粗略的片段,我使用和適應了很多,給我很多表單域的控制,也讓我利用Django的模板框架節省我的時間:
在我的模板中:
{% for form_field in myform %}
{% include "path/to/partials/form_field_as_p.html" %}
{% endfor %}
而在這form_field_as_p.html,是這樣的:
{% if not form_field.is_hidden %}
<p>
{% if form_field.errors %}
{% for error in form_field.errors %}
<span class="errorlist">{{error}}</span>
{% endfor %}
{% endif %}
{{ form_field.label_tag }}
{% if form_field.field.required %}
<span class="required">*</span>
{% endif %}
{{ form_field }}
{% if form_field.help_text %}
<span class="form-help-text">{{ form_field.help_text }}</span>
{% endif %}
</p>
{% else %}
<div>{{ form_field }}</div> {# hidden field #}
{% endif %}