Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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
如何将文件分配给Django中的FileField?_Django - Fatal编程技术网

如何将文件分配给Django中的FileField?

如何将文件分配给Django中的FileField?,django,Django,如何将文件分配给Django中的FileField 我尝试: from django.core.files import File ... ... att_path = os.path.join(detach_dir, filename) if not os.path.isfile(att_path): fp = open(att_path, 'wb') djangofile = File(fp) fp.write(part.get_payload(decode=Tru

如何将文件分配给Django中的FileField

我尝试:

from django.core.files import File
...
...
att_path = os.path.join(detach_dir, filename)

if not os.path.isfile(att_path):
    fp = open(att_path, 'wb')
    djangofile = File(fp)
    fp.write(part.get_payload(decode=True))

    user = User.objects.get(id=1)
    files = File.objects.create(src=djangofile, user=user)
    fp.close()
但我有一个错误:

AttributeError:类型对象“文件”没有属性“对象”

models.py:

class File(models.Model):
    user = models.ForeignKey(User)
    src = models.FileField(upload_to="src")
改变

class File(models.Model):
    user = models.ForeignKey(User)
    src = models.FileField(upload_to="src")
致:

然后像这样创建它:

files = UserFile.objects.create(src=djangofile, user=user)
django.core.files导入文件中的
与yourapp.models导入文件中的
冲突


在使用
文件字段时

请不要给您的模型起与从Django导入的类相同的名称。这将修复此错误,但现在我的
src
字段在保存后为空
files=FileStore.objects.create(src=djangofile,user=user)
-似乎是incorrect@user2307683您是否已将
att\u path
的值打印在这一行之后
att\u path=os.path.join(detach\u dir,filename)
?您确定路径正确吗?这是文件的唯一打印名称
dosinsu.png
。未满path@user2307683我不熟悉处理电子邮件附件,抱歉。该错误似乎与django无关。@user2307683我建议您打开另一个关于如何使用imaplib处理附件的问题。
files = UserFile.objects.create(src=djangofile, user=user)