由ModelForm生成的表单中的Javascript

时间:2016-01-10 08:04:45

标签: javascript html django django-crispy-forms

我使用ModelForm生成表单并使其看起来很好我使用crispyforms
我的问题是如何在表单中包含javascript事件处理程序,因为HTML代码是由django生成的 我正在使用ModelFormcrispyforms,因为我不知道css和html是否需要使用它们与现在使用这些工具一样有吸引力? 或者我如何使用HTML生成的表单crispy forms,以防我自己写HTML格式的所有表格?我是新手。任何帮助都非常感谢。

2 个答案:

答案 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标记。