我试图将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()
答案 0 :(得分:0)
您应该使用requests
:
requests.post(url, files=files, data=data)