Django在同一页面上有两种形式

时间:2018-09-22 12:30:13

标签: html django html5 forms django-forms

我在同一页面上有两个表格。

  1. 第一种形式使用第三方库将文件上传到s3,然后预览它刚刚上传的内容,而无需更改状态/转到另一个页面。
  2. 第二种形式是将上传文件的网址保存到我的模型中

但是,当我提交第二个表单时-第一个表单会引发错误。关于没有必填字段(它认为应该提交另一个文件)。

HTML

<form 
    id="s3form"
    name="s3form"
    action="{% url 'file_create' employee.uid %}" 
    method="post"
>
    {% csrf_token %}
    {{ form }}
</form>

<hr/>

<form 
    id="save-pic"
    name="save-pic"
    action="{% url 'employee_update_profile_pic' employee.uid %}"
    method="post"
>
    {% csrf_token %}
    {# jquery inserts hidden input for image link after s3 upload #}
    <input 
        id="save-pic-submit"
        name="save-pic-submit"
        type="submit"
        value="Save"
    >
</form>

enter image description here

更新:

urls.py

  path('employee/update/<str:uid>/profile-picture', views.file_create, name='file_create'),
  path('employee/update/<str:uid>/profile-picture', views.employee_update_profile_pic, name='employee_update_profile_pic'),

views.py

  def file_create(request, uid):
      employee = Employee.nodes.get(uid=uid)
      form = S3UploadForm(request.POST or None)

      # this is not getting run... maybe because form intercepted by package?
      if form.is_valid():
          form.save()
          messages.success(request, '''Successfully uploaded new profile pic! Lookin' good''')
      return redirect("employee_detail", employee.uid)

      return render(request, 'profile-picture.html', {'form': form, 'employee': employee})




def employee_update_profile_pic (request):
    pdb.set_trace()

已解决:这是因为尽管他们都被“发布”了,但他们共享相同的URL

0 个答案:

没有答案