У меня есть две формы на одной странице.
- Первая форма использует стороннюю библиотеку lib для загрузки файла в s3, а затем предварительно просматривает только что загруженный файл без изменения состояния / перехода в другоестр.
- Вторая форма будет сохранять URL загруженного файла в моей модели
Однако, когда я отправляю вторую форму - первая форма выдает ошибку.Об отсутствии обязательного поля (он считает, что должен отправить другой файл).
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](https://i.stack.imgur.com/GMYfC.png)
ОБНОВЛЕНИЕ:
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, несмотря на то, что оба были 'post'