从Djang向外部API REST发送文件

2024-09-30 18:13:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从DJANGO表单发送一个文件到一个API REST服务,如果我只发送文本它有效,但我需要发送一个文件,我尝试了所有我找到的,但我没有工作。在

这是我的表格:

class Publicacion(forms.Form):

publicacion = forms.CharField(label=False,  widget=forms.Textarea(attrs={'rows': '3', 'cols': '40'}))
imagen = forms.FileField(required=False)

这是该表单的html:

^{pr2}$

这是我的视图.py方法:

def sesionactiva(request):
if 'token' in request.session:
    token = request.session['token']
    crearpublicacion = Publicacion(request.POST or None, request.FILES or None)
    if 'publicar' in request.POST and request.POST['publicar']:
        if crearpublicacion.is_valid():
            publicacion_data = crearpublicacion.cleaned_data
            publicaciontexto = publicacion_data.get("publicacion")
            imgpublicacion = request.FILES['imagen']
            apipublicar = 'http://localhost/apiSocial/publicacion/createPublication'
            payloadpublicacion = {'token': token, 'texto': publicaciontexto, 'imagen': imgpublicacion}
            responsepublicacion = requests.post(apipublicar, data=payloadpublicacion)
            crearpublicacion = Publicacion()

Tags: 文件intokenfalse表单dataifrequest