У меня проблемы с возвратом данных в представление django с помощью формы. У меня есть форма модели с файловым полем («файл»), и добавил дополнительное поле char («пути»). Мой первоначальный вид позволяет получить загруженный файл, но когда я попытался интегрировать другое поле char, это не сработало, и я всегда получаю сообщение об ошибке ниже (в конце):
Я должен уточнить, что я работаю с jquery.uploadfile, и я использую Drag and Drop, чтобы установить поле "file". В начале форма не была необходима в шаблоне, она должна создаваться автоматически с помощью библиотеки jquery.uploadfile.
Я думаю, что уже прочитал все соответствующие ответы в других сообщениях, не могу найти решение :)
это моя форма:
class MonsterForm(forms.ModelForm):
paths = forms.CharField()
class Meta:
model = Monster
fields = ('file','paths',)
это мой пост-вид, который отлично работает для загрузки, где я получил ошибку:
def post(self, request):
form = MonsterForm(self.request.POST, self.request.FILES)
print(form.errors)
if form.is_valid():
''' trying to get the field value here '''
print("post : ",self.request.POST.get('paths'))
temp_file = form.save(commit=False)
''' some code '''
temp_file.save()
# data.result sent back to template :
data = {'is_valid': True, 'name': temp_file.title, 'url': temp_file.get_absolute_url()}
''' just for tests '''
else:
data = {'is_valid': False}
return JsonResponse(data)
А это мой шаблон:
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="text" name="paths" id="id_paths" value="test"/>
<input id="fileupload" type="file" name="file" multiple style="display: none; " data-url="{% url 'upload' %}" data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}"}'/>
</form>
и ошибка:
<ul class="errorlist"><li>paths<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
Я добавил текст и ввод текста, но все еще не работает, есть идеи?
ТНХ