【问题标题】:how to save the ajax uploaded image before the object created in django?如何在django中创建对象之前保存ajax上传的图像?
【发布时间】:2014-03-09 11:39:23
【问题描述】:

这是我现在的问题。我想创建一个组模型,其中一个文件是 imagefile 当人们打开该页面以创建组时。 他需要填写其他字段,如组名、组说明和组头像,我想在他提交整个页面之前使用 ajax 将图片上传到服务器,在该页面中给他一个预览。 问题是,在主机中,我通过 ajax 上传了他的图片,我应该将该图片路径保存在数据库中的哪个位置? 原因,该组对象尚未创建。

我应该等待人们点击提交按钮,让他发布所有数据,如组名和组指令,并使用该图片调用 save() 函数,这样我就创建了对象。

如何处理这种问题。

坦克

【问题讨论】:

    标签: ajax django model


    【解决方案1】:

    您可以做的是创建两种模型 - 一种用于图片对象,另一种用于组对象,然后将它们与 id 号连接起来。

    例如,在你的模型类中,制作一个类似

    class Picture(models.Model):
        profile_image = ImageField(... etc. read the reference below ...)
    

    (here is the reference for ImageFields)

    class Group(models.Model):
        name = models.CharField... Whatever
        picture_id = models.ForeignKey('Picture')
    

    (here is the reference for ForeignKey)

    所以想法是你单独创建一个图片,然后通过 ForeignKey 将它链接到一个组。

    【讨论】:

    • 是的,一个群只需要一个头像,但问题是,人们在创建群页面时可能会上传多次。他可能会上传image1,然后感觉不好,然后上传imgae2,然后尝试image3,这样,我的主人可能会得到这么多无用的图片。我该如何防止这种事情发生。
    • 嗨,谢谢,我找到了停止主机中无用图片的解决方案。是的,我需要在创建对象时在同一页面中创建第二个模型,这个图片模型只保留那些临时图片。一次人单击提交按钮,然后我将图片添加到组模型中,然后删除临时图片。所有临时图片,我将它们保存到临时文件夹中,我可以像每天或每周一样删除所有图片。谢谢
    猜你喜欢
    • 2018-01-29
    • 1970-01-01
    • 2021-12-27
    • 2013-10-12
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    相关资源
    最近更新 更多