我有一个简单的模型。
models.py
:
class Inform_note(models.Model):
id = models.AutoField(primary_key=True)
in_note_on = models.FileField(upload_to='notes', blank=True)
note_date = models.DateField(auto_now_add=False, blank=True, null=True)
借助CreateView,我可以创建新记录,使用UpdateView编辑此记录,添加文件等...
view.py
:
class Inform_noteEditView(generic.UpdateView):
model = Inform_note
fields = '__all__'
def get_form(self, form_class=None):
form = super().get_form(form_class)
form.helper = FormHelper()
form.helper.add_input(Submit('submit', 'Create', css_class='btn-primary'))
form.fields['in_note_on'].label = "Выписка об ОН"
return form
但是在“返回表单”之前,我想在字段(in_note_on)中看到文件名。
print(form.fields['in_note_on'])
返回<django.forms.fields.FileField object at 0x00000000062D9710>
任何想法如何在此字段中获取文件名?
答案 0 :(得分:0)
file_name=form.fields['in_note_on'].name
print(file_name)
它将打印上传的文件名。有关更多信息,请点击以下链接: How can I get the file name from request.FILES?
答案 1 :(得分:0)
通过此get_object函数,我可以访问模型中的对象。
queryset = Inform_note.objects.all()
def get_object(self):
ob = super().get_object()
print(ob.in_note_on)
现在view.py:
class Inform_noteEditView(generic.UpdateView):
model = Inform_note
fields = '__all__'
queryset = Inform_note.objects.all()
def get_object(self):
ob = super().get_object()
print(ob.in_note_on)
def get_form(self, form_class=None):
form = super().get_form(form_class)
form.helper = FormHelper()
form.helper.add_input(Submit('submit', 'Create', css_class='btn-primary'))
form.fields['in_note_on'].label = "MY FILE"
return form