Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django中设置媒体路径以对象日期字段信息_Python_Django_Media_Datefield_Imagefield - Fatal编程技术网

Python 在Django中设置媒体路径以对象日期字段信息

Python 在Django中设置媒体路径以对象日期字段信息,python,django,media,datefield,imagefield,Python,Django,Media,Datefield,Imagefield,我试图通过后端将用户上传的类设置为Django admin。我试图使ImageField的路径基于用户输入的DateField信息;这就是我所拥有的 from django.db import models from datetime import date class Article(models.Model): def img_date(self): return str(self.date.year) + str(self.date.month) + str(self.date.

我试图通过后端将用户上传的类设置为Django admin。我试图使ImageField的路径基于用户输入的DateField信息;这就是我所拥有的

from django.db import models
from datetime import date

class Article(models.Model):
def img_date(self):
    return str(self.date.year) + str(self.date.month) + str(self.date.day)

#main_title = models.
title = models.TextField(max_length=200)
date = models.DateField()
content = models.TextField()
link = models.CharField(max_length=200)
image = models.ImageField(upload_to=img_date)
但是,当我提交该对象时,我得到一个错误,即img_date接受1个位置参数,但给出了2个位置参数。我需要一些帮助,弄清楚如何像我前面解释的那样设置手动路径

谢谢,

请查看从FileField继承的ImageField

特别要注意的是,upload_to callable必须接受两个参数:模型实例和原始文件名。因此,您的代码可能看起来像这样。我删除了日期导入,因为它未使用:

from django.db import models

def img_date(instance, filename):
    return str(instance.date.year) + str(instance.date.month) + str(instance.date.day)

class Article(models.Model):
    title = models.TextField(max_length=200)
    date = models.DateField()
    content = models.TextField()
    link = models.CharField(max_length=200)
    image = models.ImageField(upload_to=img_date)
我已经使用了您的示例代码,但您可能希望对其进行修改,以便两篇日期相同的文章不使用相同的图像路径