我使用Django Form向导使用默认表单向导模板创建多步表单。在一个步骤中,我使用formset来显示多个表单。在这个页面上,有多个字段,如标题,发布,日期,屏幕等。我想显示一个带有onclick事件的按钮,当标题不存在时。单击此按钮,我想打开具有指定Url的另一个选项卡。 据我所知,Django中没有内置的buttonField。我正在看这篇I want a button on my website that will execute a python script帖子。 想知道是否还有其他办法吗?如果我必须回答,我不确定是否可以使用此表单的默认模板。请建议在表单上有条件地创建按钮的声音方法,并处理其点击事件以重定向到新选项卡中的页面。
wizard_form.html
{% extends "admin/base_site.html" %}
{% load i18n %}
{% block content %}
{% if wizard.form.forms %}
{% for form in wizard.form.forms %}
{{ form.media }}
{% endfor %}
{% else %}
{{ wizard.form.media }}
{% endif %}
<p>Step {{ wizard.steps.step1 }} of {{ wizard.steps.count }}</p>
<form action="." method="post" enctype="multipart/form-data">{% csrf_token %}
<table>
{{ wizard.management_form }}
{% if wizard.form.forms %}
{{ wizard.form.management_form }}
{% for form in wizard.form.forms %}
{% if ingestable_upload %}
<tr>{{ form.as_inline_table }}</tr>
{% else %}
{{ form.as_table }}
{% endif %}
{% endfor %}
{% else %}
{{ wizard.form }}
{% endif %}
</table>
{% if wizard.steps.prev %}
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.first }}">{% trans "first step" %}</button>
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">{% trans "prev step" %}</button>
{% endif %}
<input type="submit" value="{% trans "Submit" %}"/>
</form>
{% endblock %}
forms.py
fields
.....
def as_inline_table(self):
return self._html_output(
normal_row='<td%(html_class_attr)s>%(errors)s%(label)s %(field)s%(help_text)s</td>',
error_row='%s<br>',
row_ender='</td>',
help_text_html='<br /><span class="helptext">%s</span>',
error
s_on_separate_row=False)