python - 表单标签未显示在 html 上,表单很脆
问题描述
我找不到使表单标签显示在模板中的方法。我一直在寻找有关 stackoverflow 的几个小时的方法,但到目前为止没有任何效果。标签不显示。
也许我的代码在某处有错误,但我无法发现它。
表格.py
class Contact(forms.ModelForm):
class Meta:
model = contact
fields = ['first_name','last_name','email','phone']
#labels = {'first_name':'First name','last_name':'Last name', 'email':'email', 'phone':'phone number'}
def __init__(self, *args, **kwargs):
super(Contact, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_show_labels = True
self.fields['first_name'].label = "First name"
self.fields['last_name'].label = "Last name"
self.fields['email'].label = "email"
self.fields['phone'].label = "phone number"
html模板:
<p> {% trans 'Or fill out the form below' %}</p>
<form method="POST" class="form-validate" id="contact">
{% csrf_token %}
<a>{% crispy form %}
<input type="submit" class="learn_more2" value={% trans 'Contact us' %} style="background-color:#36393f; color:#DB6574; margin:auto; display:block">
</a>
</form>
解决方案
您必须使用{% load crispy_forms_tags %}
- 例如在您的模板顶部初始化脆的表单标签。还香脆“取代”了<form> ...</form>
.
{% extends 'base.html' %}
{% load crispy_forms_tags %} <!-- HERE -->
{% block title %}
Title
{% endblock title %}
{% block content %}
{% csrf_token %}
{% crispy form %}
{% endblock %}
像这样的东西。
推荐阅读
- python - 重命名方法链中传递的数据框中的最后一列
- docker - 在 Go 中检查私有注册表中是否存在 docker 映像
- python-3.x - 线性规划条件约束
- python - Jupyter 主页在 chrome 浏览器中是空白的
- javascript - firebase 云消息的浏览器问题
- android - Android 文件 Webview 下载
- sql - SQL where in(数千条记录)
- cocoa - 基于视图的 NSTableView:拖动时的空白/白色标签
- c++ - Doxygen - 无论预处理器指令如何,都解析所有内容
- reactjs - React 和全局状态(reactn)