以前はこの問題を抱えていた人はほとんどいませんでしたが、すべてファイル関連でした。私にとっては、人々が提案したすべてのことをやっているうちに、私が入力したテキストフィールドでも "このフィールドは必須です"というエラーが返されます。私のコードを見て:Djangoは "このフィールドは必須です"と書かれていますが(テキストフィールドも)
ビュー
class MainForm(forms.Form):
name = forms.CharField()
subject = forms.CharField()
text = forms.CharField(widget=forms.Textarea)
file = forms.FileField()
password = forms.CharField()
def mainpage(request):
if request.method == 'POST':
form = MainForm(request.FILES or None, request.POST or None)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponse('Ok')
else:
form = MainForm()
return render(request, "main.html", {'form': form})
def handle_uploaded_file(file):
name = file.name
with open(os.path.join("static\img", "{0}".format(name)), 'wb+') as destination:
for chunk in file.chunks():
destination.write(chunk)
テンプレート:
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>{{ siteTitle }}</title>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/main.css">
</head>
<body>
{% include 'header.html' %}
<form enctype="multipart/form-data" method="post">
{% csrf_token %}
<table>
<ul>
{{ form.as_table }}
</ul>
</table>
<input type="submit" value="Submit" />
</form>
</body>
</html>
私が非必要にすべてを設定すると、それだけを返すことに留意すべきです空の形。
あなたの寛大な助けをありがとう。
ようこそ!表示したい[動作を示すことと無関係なものをすべて削除する](https://stackoverflow.com/help/mcve)を使用して、この例を簡単にしてください。逆に、あなたの例を実行するときにどのような行動が予想されるかを明示してください。 – bignose