Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.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 如何像imagesapi一样存储图像_Python_Django_Django Models_Django Rest Framework_Wagtail - Fatal编程技术网

Python 如何像imagesapi一样存储图像

Python 如何像imagesapi一样存储图像,python,django,django-models,django-rest-framework,wagtail,Python,Django,Django Models,Django Rest Framework,Wagtail,您好,我的创建简单成员模型已经搜索了好几个地方,直到现在我还没有弄清楚如何将我的图像目录存储在我的图像字段旁边 class Member(models.Model): with open(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+'/api/data/states.json') as s: states_json = json.load(s) STATES = [(str(state["nome"]),

您好,我的创建简单成员模型已经搜索了好几个地方,直到现在我还没有弄清楚如何将我的图像目录存储在我的图像字段旁边

class Member(models.Model):
with open(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+'/api/data/states.json') as s:
    states_json = json.load(s)
    STATES = [(str(state["nome"]), str(state["sigla"])) for state in states_json]

name = models.CharField(max_length=100, null=True, blank=True, verbose_name='Nome')
image = models.ForeignKey(
    "wagtailimages.Image",
    blank=False,
    null=True,
    related_name="+",
    on_delete=models.SET_NULL,
    verbose_name='Imagem do membro',
)
role = models.CharField(max_length=35, null=True, blank=True, verbose_name='Cargo')
city = models.CharField(max_length=30, null=True, blank=True, verbose_name='Cidade')
state = models.CharField(
    verbose_name='Estado',
    max_length=19,
    choices=STATES,
    default=('SP'),
)
created = models.DateField(default=timezone.now, verbose_name='Atualizado')
modified = models.DateField(default=timezone.now, verbose_name='Modificado')

panels = [
    FieldPanel("name"),
    ImageChooserPanel("image"),
    FieldPanel("role"),
    FieldPanel("city"),
    FieldPanel("state"),
    FieldPanel("created"),
    FieldPanel("modified"),
]

def __str__(self):
    return self.name

class Meta:
    verbose_name = 'Membro'
    verbose_name_plural = 'Membros'  
这正常工作,但如何存储像WagtailImagesAPI这样的图像信息

例如:

"detail_url": "http://localhost/api/v2/images/2/",
"download_url": "/media/original_images/l8GlI3V.jpg"
这是来自API的myJSON

[
{
“id”:6,
“姓名”:“加布里埃尔”,
“角色”:“Desenvolvedor”,
"形象":四,,
“城市”:“Itapetininga”,
“国家”:“圣保罗”,
“已创建”:“2020-04-26”,
“修改”:“2020-04-26”
}
]

谢谢你的帮助

是来自文档的链接,Wagtail依赖于DRF,创建所需的序列化程序,并将图像表示为链接而不是pk,这应该很简单(请参见DRF文档)


自定义序列化程序上的视频也应该有帮助。

我添加了一个说明,您需要在
详细名称上使用
uget\u lazy
,如果可以,我将尝试解决这个问题rn@AhmedI.Elsayed泰兄弟!我认为不可能对模型使用序列化程序。模型?为什么不?这是DRFYes的主要目的,但我要说的是不带APIField的passserializer(“author\u image”,serializer=ImageSerializedField())