Django FileField无法保存

时间:2018-08-06 15:54:10

标签: python django

这里有一些现有的帖子与我的问题相同,但是没有一个帖子可以为我的问题提供适当的解决方案。 我正在一个具有多个模型(例如A,B,C,D和E)的项目。其中三个模型具有FileFields。我对settings.py MEDIA_ROOT和MEDIA_URL进行了更改,以使FileField正常工作。它可以完美地在2个模型上运行,并保存到正确的位置和所有内容。对于第三个模型,同一行

models.FileField( upload_to='media/documents', null=True, blank=True)

不会将文件保存到该位置。 httpd错误日志为空。第三个模型是嵌入式模型。任何人都对为什么这种模式突然“毛刺”有任何想法。以下是httpd访问日志

192.168.45.139 - - [06/Aug/2018:15:50:01 +0000] "POST /admin/midb/job/3027/change/ HTTP/1.1" 302 -
192.168.45.139 - - [06/Aug/2018:15:50:01 +0000] "GET /admin/midb/job/3027/change/ HTTP/1.1" 200 205520
192.168.45.139 - - [06/Aug/2018:15:50:03 +0000] "GET /nested_admin/server-data.js HTTP/1.1" 200 288
192.168.45.139 - - [06/Aug/2018:15:50:03 +0000] "GET /admin/jsi18n/ HTTP/1.1" 200 3185

编辑:添加了模型。前两个“工作”,最后一个没有。前两个是独立的,而第三个模型是内联的。这将保存在Django admin中。

class CustomerPDF(models.Model):
    author = models.CharField(blank=False, null=False, max_length=300)
    other_members = models.CharField(blank=True, null=True, max_length=250)
    institute = models.CharField(blank=True, null=True, max_length=300)
    cr_system = models.ForeignKey(
        Job, on_delete=models.CASCADE, blank=True, null=True)
    paper = models.CharField(blank=True, null=True, max_length=300)
    url = models.URLField(blank=True, null=True,
                          max_length=300)
    year = models.CharField(blank=True, null=True, max_length=150)
    journal = models.CharField(blank=True, null=True, max_length=300)
    tags = models.CharField(blank=True, null=True, max_length=200)
    file_pdf_customer = models.FileField(
        upload_to='media/documents', null=True, blank=True)
    file_pdf_customer.allow_tags = True

class MarketTrends(models.Model):
    author = models.CharField(blank=False, null=False, max_length=300)
    institute = models.CharField(blank=True, null=True, max_length=500)
    paper = models.CharField(blank=True, null=True, max_length=300)
    year = models.CharField(blank=True, null=True, max_length=15)
    tags = models.CharField(blank=True, null=True, max_length=200)
    file_pdf_market = models.FileField(
        upload_to='media/documents', null=True, blank=True)
    file_pdf_market.allow_tags = True

class TripReport(models.Model):
    service_name = models.ForeignKey(ServiceSupport, on_delete=models.CASCADE)
    trip_description = models.CharField(
        "Description", max_length=500, blank=True, null=True)
    files = models.FileField(
        upload_to='media/documents', null=True, blank=True)

1 个答案:

答案 0 :(得分:0)

您是否在模板中添加了这些代码?

<form  method="post" id="myform"  enctype="multipart/form-data">