从Django发送FILE到外部API REST

时间:2017-03-23 01:56:15

标签: python django rest api

我试图将DJANGO FORM中的文件发送到API REST服务,如果我只发送它的文本,但是我需要发送一个文件,我尝试了所有我发现但我没有#39工作。

这是我的表格:

class Publicacion(forms.Form):

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

这是该格式的HTML:

            <form name="publicion" enctype="multipart/form-data" id="publicacion" method="POST">{% csrf_token %}
            <div class="post post_form" style="padding:0;">
                {{ formpublicar|crispy }}
                <button class="post_form_extra"></button>
                <input value=" " type="submit" class="post_form_submit" name="publicar"/>
            </div>

            </form>

这是我的views.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()

1 个答案:

答案 0 :(得分:0)

您应该使用requests

requests.post(url, files=files, data=data)