【发布时间】:2020-05-07 03:42:26
【问题描述】:
我遇到的问题是我的模型表单没有上传文件,我让它工作,在添加更多代码后现在不工作,这就是它发生的情况:它上传/保存所有其他字段,除了文件,奇怪的是,如果我从管理站点执行此操作,它确实有效。我会补充一点,不是在数据库列中写入路径。
models.py
class Polizas(models.Model):
nombre = models.CharField(max_length=30, blank=True, null=True)
numero = models.CharField(max_length=30, unique=True)
aseguradora = models.CharField(max_length=20, blank=True, null=True)
carro = models.ForeignKey(
Carros, on_delete=models.CASCADE, blank=True, null=True)
inicio_poliza = models.DateField(
auto_now=False, auto_now_add=False, blank=True, null=True)
fin_poliza = models.DateField(
auto_now=False, auto_now_add=False, blank=True, null=True)
documento = models.FileField(upload_to='polizas/', blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
verbose_name_plural = "Polizas"
ordering = ['nombre']
def __str__(self):
return self.nombre
def get_absolute_url(self):
return reverse('polizas')
forms.py
class PostPolizas(forms.ModelForm):
class Meta:
model = Polizas
fields = ('nombre', 'numero', 'aseguradora', 'carro', 'inicio_poliza',
'fin_poliza', 'documento')
widgets = {'inicio_poliza': forms.DateInput(attrs={'type': 'date'}),
'fin_poliza': forms.DateInput(attrs={'type': 'date'})
}
views.py
class PolizaCreate(LoginRequiredMixin, CreateView):
login_url = '/login/'
redirect_field_name = 'redirect_to'
form_class = PostPolizas
template_name = "add_insurance.html"
终端
[06/May/2020 22:32:17] "POST /insurance/add/ HTTP/1.1" 200 4557
[06/May/2020 22:32:25] "POST /insurance/add/ HTTP/1.1" 302 0
我已尝试验证表单但它不起作用,这是在我上传文件的其他模型表单中发生的错误,它上传文本字段和日期但不上传文件。
【问题讨论】:
-
“它不起作用” 太模糊了,具体点。
-
也许您也错过了“它会上传除文件之外的所有其他字段,奇怪的是,如果我从管理站点执行此操作,它确实有效。”我还要补充一点,它不会写入数据库中的路径
标签: django django-models django-forms