0
我的问题是,为什么窗体显示没有文件选择对文件字段,即使当文件加载(以及如何纠正这一点)?Django窗体显示没有文件选择
我有以下形式(相关位被用于FileInput小部件):
class StudentForm(forms.ModelForm):
class Meta:
model = Student
exclude = ['id',]
widgets = {
'user' : forms.HiddenInput(),
'first_name' : forms.TextInput(attrs={'class' : 'form-control'}),
'last_name' : forms.TextInput(attrs={'class' : 'form-control'}),
'email' : forms.EmailInput(attrs={'class' : 'form-control'}),
'majors' : forms.TextInput(attrs={'class' : 'form-control'}),
'university' : forms.TextInput(attrs={'class' : 'form-control'}),
'grad_year' : forms.TextInput(attrs={'class' : 'form-control',
'type' : 'number'}),
'resume' : forms.FileInput(attrs={'class' : 'form-control'}),
'transcript' : forms.FileInput(attrs={'class' : 'form-control'}),
'git_link' : forms.URLInput(attrs={'class' : 'form-control'}),
'linkedin_link' : forms.URLInput(attrs={'class' : 'form-control'}),
}
我的观点,以节省/显示的是:
student = Student.objects.get(user=request.user)
form = StudentForm(instance=student)
if request.method == 'POST':
form = StudentForm(request.POST, request.FILES, instance=student)
if form.is_valid():
form.save()
messages.success(request, 'Profile successfully updated.')
variables['form'] = form
return render (request, 'app/profile.html', variables)
而且我通过像HTML渲染它这个:
<form method='post' action="{% url 'add-profile' %}" enctype="multipart/form-data" data-confirm="Please confirm you want to save the current data. This will overright all previous data.">
{% csrf_token %}
<table class="table">
{{form.as_table}}
</table>
<button type="submit" class="btn btn-primary" >Update Profile</button>
</form>
我的问题是,为什么窗体显示没有文件选择对文件字段甚至当一个文件被加载(以及如何纠正这一点)?
感谢您的帮助