Python 提交时未重置表格?
我有一个页面,其中有一个表单,一旦提交,表单将再次加载给下一个人。我从基于类的视图切换到基于函数的视图,因为我不得不渲染模态,我注意到,现在,由于我不再重定向到表单,它不会清除以前输入的数据。我如何在提交时清除表格 视图.pyPython 提交时未重置表格?,python,html,django,Python,Html,Django,我有一个页面,其中有一个表单,一旦提交,表单将再次加载给下一个人。我从基于类的视图切换到基于函数的视图,因为我不得不渲染模态,我注意到,现在,由于我不再重定向到表单,它不会清除以前输入的数据。我如何在提交时清除表格 视图.py def enter_exit_area(request): form = WarehouseForm(request.POST or None) enter_without_exit = None exit_without_enter = Non
def enter_exit_area(request):
form = WarehouseForm(request.POST or None)
enter_without_exit = None
exit_without_enter = None
if form.is_valid():
emp_num = form.cleaned_data['employee_number']
area = form.cleaned_data['work_area']
station = form.cleaned_data['station_number']
if 'enter_area' in request.POST:
# Some rules to open modals/submit
message = 'You have entered %(area)s' % {'area': area}
if station is not None:
message += ': %(station)s' % {'station': station}
messages.success(request, message)
elif 'leave_area' in request.POST:
# more Rules
message = 'You have exited %(area)s' % {'area': area}
if station is not None:
message += ': %(station)s' % {'station': station}
messages.success(request, message)
return render(request, "operations/enter_exit_area.html", {
'form': form,
'enter_without_exit': enter_without_exit,
'exit_without_enter': exit_without_enter,
})
class WarehouseForm(AppsModelForm):
class Meta:
model = EmployeeWorkAreaLog
widgets = {
'employee_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('employee_number').remote_field, site, attrs={'id':'employee_number_field'}),
}
fields = ('employee_number', 'work_area', 'station_number', 'edited_timestamp')
forms.py
def enter_exit_area(request):
form = WarehouseForm(request.POST or None)
enter_without_exit = None
exit_without_enter = None
if form.is_valid():
emp_num = form.cleaned_data['employee_number']
area = form.cleaned_data['work_area']
station = form.cleaned_data['station_number']
if 'enter_area' in request.POST:
# Some rules to open modals/submit
message = 'You have entered %(area)s' % {'area': area}
if station is not None:
message += ': %(station)s' % {'station': station}
messages.success(request, message)
elif 'leave_area' in request.POST:
# more Rules
message = 'You have exited %(area)s' % {'area': area}
if station is not None:
message += ': %(station)s' % {'station': station}
messages.success(request, message)
return render(request, "operations/enter_exit_area.html", {
'form': form,
'enter_without_exit': enter_without_exit,
'exit_without_enter': exit_without_enter,
})
class WarehouseForm(AppsModelForm):
class Meta:
model = EmployeeWorkAreaLog
widgets = {
'employee_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('employee_number').remote_field, site, attrs={'id':'employee_number_field'}),
}
fields = ('employee_number', 'work_area', 'station_number', 'edited_timestamp')
进入退出区域.html
{% extends "base.html" %}
{% load core_tags %}
{% block main %}
{% if enter_without_exit %}
<div id="auto-open-ajax-modal" data-modal="#create-update-modal" data-modal-url="{% url "operations:update_timestamp_modal" enter_without_exit.id %}" class="hidden"></div>
{% endif %}
{% if exit_without_enter %}
<div id="auto-open-ajax-modal" data-modal="#create-update-modal" data-modal-url="{% url "operations:update_timestamp_modal" exit_without_enter.id %}" class="hidden"></div>
{% endif %}
<form id="warehouseForm" action="" method="POST" class="form-horizontal" novalidate >
{% csrf_token %}
<div>
<div>
<label>Employee</label>
{{ form.employee_number }}
</div>
<div>
<label>Work Area</label>
{{ form.work_area }}
</div>
<label>Station</label>
{{ form.station_number }}
</div>
</div>
<div>
<div>
<button type="submit" name="enter_area" value="Enter">Enter Area</button>
<button type="submit" name="leave_area" value="Leave">Leave Area</button>
</div>
</div>
</form>
{% modal id="create-update-modal" title="Update Timestamp" primary_btn="Submit" default_submit=True %}
{% endblock main %}
{%extends“base.html”%}
{%load core_tags%}
{%block main%}
{如果输入\而不退出%}
{%endif%}
{%如果退出而不输入%}
{%endif%}
{%csrf_令牌%}
雇员
{{form.employee_number}
工作区
{{form.work_area}}
站
{{form.station_number}
进入区域
离开区
{%modal id=“create update modal”title=“update Timestamp”primary\u btn=“Submit”default\u Submit=True%}
{%endblock main%}
使用if语句仍然会导致表单不清晰,而只保留form=WarehouseForm()
会导致表单不提交给数据库。我刚刚编辑了我的答案供您评论,请尝试此操作。