Sto provando a creare un'interfaccia "cool" per l'upload delle immagini nel pannello di amministrazione di django. Il problema è che sto usando un'interfaccia inline per caricare istanze di immagini, ma sto usando il modulo jQuery Ajax per caricare le immagini, quindi c'era un altro modulo che dovevo creare per il caricamento. E ora django funzione di visualizzazione non può ricevere request.FILES da questa forma, perché ho creato senza utilizzare django.forms e non è possibile specificare in funzione di visualizzazione quale forma deve essere utilizzato. Pertanto, non è possibile sovrascrivere la funzione di visualizzazione standard per le interfacce in linea e non è possibile ricreare questo modulo utilizzando django.forms. Quindi, questo codice non sembra funzionare:Come ricevere il file caricato dalla forma in linea in django?
La mia forma:
<form id="uploadForm" enctype="multipart/form-data" method="post" action="upload_picture/">
<input type="file" name="file" />
<input type="submit" value="Upload" />
</form>
La mia funzione di visualizzazione:
def upload_picture(request):
if request.method == 'POST':
save_original(request.FILES['file'])
return HttpResponseRedirect('admin/edit_inline/picture_editor.html')
Forse dovrei farlo modo completamente diverso?
Si noti che HttpResponseRedirect deve essere costruito con un percorso assoluto o un URL completo non uno relativo, come il proprio. HttpResponseRedirect ('/ admin/edit_inline/picture_editor.html') dovrebbe funzionare meglio. –