Images in Django fixtures?

2020-02-09 00:50发布

I was looking at Django fixtures in the docs, there was no mention of preloading images into the database. I can't be the only who needed to do this. Is this possible? If so how? If not, are there any workarounds available?

Please and thank you.

2条回答
老娘就宠你
2楼-- · 2020-02-09 01:21

Yes, it's possible. You have to put your image in your project MEDIA_ROOT. In fixtures it will look like

[{
    "pk": 1,
    "model": "pictures.picture",
    "fields": {
        "image": "/media/gebakken_kip_met_korianderrijst_1152_x_1728.png"

    }
}]
查看更多
劳资没心,怎么记你
3楼-- · 2020-02-09 01:46

this has been asked while ago and already been answered, i am still going to put this out there:

after dumping the fixture replace all the paths with one to a suitable placeholder image, that you manually put in your media directory. you probably should choose a path your app does not use in production, like "/media/fixture/sample.jpg". that way you could put the file into your scm of choice too.

if you have "/media" in your .gitignore (which is a good idea), don't forget to add an exception.

as an alternative, google also turns up this: https://github.com/leetrout/django-fixturemedia

查看更多
登录 后发表回答