我在django中有一个非常简单的文件上传表单类:
class UploadFileForm(forms.Form):
category = forms.ChoiceField(get_category_list())
file = forms.FileField()
一个问题是当我{{ form.as_p }}
时,它没有提交按钮。我如何添加一个?
答案 0 :(得分:9)
<input type="submit" value="Gogogo!" />
答案 1 :(得分:0)
这是最小HTML表单(docs)的模板:
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>
将其放在<PROJECT>/templates/MyForm.html
下,然后用以下内容替换'DIRS': []
中的<PROJECT>/<PROJECT>/settings.py
:
'DIRS': [os.path.join(BASE_DIR, "templates")],
这样的代码可用于在用户执行GET请求时将其提供给用户,并在用户通过单击“提交”按钮(docs)发布该表单时对其进行处理:
from django.http import HttpResponse, HttpResponseNotFound
from django.shortcuts import render
from . import forms
def my_form(request):
if request.method == 'POST':
form = forms.MyForm(request.POST)
if form.is_valid():
return HttpResponse('Yay valid')
else:
form = forms.MyForm()
return render(request, 'MyForm.html', {'form': form})