我使用ModelForm
生成表单并使其看起来很好我使用crispyforms
我的问题是如何在表单中包含javascript事件处理程序,因为HTML代码是由django生成的
我正在使用ModelForm
和crispyforms
,因为我不知道css和html是否需要使用它们与现在使用这些工具一样有吸引力?
或者我如何使用HTML生成的表单crispy forms
,以防我自己写HTML格式的所有表格?我是新手。任何帮助都非常感谢。
答案 0 :(得分:1)
您可以在浏览器检查器中查看id
表单和字段,并在此id
上添加事件hendler。
或者您可以按每个字段呈现表单,如下所示:
<form action="">
{{ form.some_field }}
{{ form.other_field }}
<form>
并将{{ form }}
标记放在您想要的html标记中,如下所示:
<p class="some-class"> {{ form.some_field }} </p>
以脆弱的形式,您可以使用FormHelper
,并在forms.py
文件中添加类:
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout
class TestForm(forms.Form):
test_field = forms.CharField()
helper = FormHelper()
helper.layout = Layout(
Field('test_field', css_class="write_class_here")
)
如果您使用FormHelper
,请注册所有字段,例如示例并将其加载到模板中{% crispy form %}
这里是文档http://django-crispy-forms.readthedocs.org/en/d-0/layouts.html
答案 1 :(得分:0)
对于django,你的javascript是静态文件。请参阅Django HOWTO on static files以了解其工作原理。
您很快就会编写带有附加eventListeners的js
文件,并在模板中加载scripts
标记。