2017-07-20 1 views
0

Also ich versuche, ein Bildobjekt von einer Ansicht zu einer anderen zu senden.So senden Sie Dateien von einer Ansicht zur anderen (Django-Sitzungen)

Gibt es eine Möglichkeit, die Bilddatei in View1 zu View2 zu erhalten, ohne die Daten zu ändern. Ich habe versucht, die Bilddaten in eine Zeichenfolge zu konvertieren, so dass es JSON serialisierbar sein kann, aber dabei habe ich einige Probleme mit der Manipulation der Zeichenfolge. Also dachte ich, der beste Weg wäre, das ganze Bild (unberührt) zu senden.

Der folgende Code spuckt einen Fehler aus: <InMemoryUploadedFile: image.jpg (image/jpeg)> is not JSON serializable

def View1(request): 

    form = FileForm(request.POST or None, request.FILES or None) 
    if request.method == 'POST': 
     if form.is_valid(): 
      image = request.FILES.get('image') 
      request.session['image_file'] = image 

      return redirect('View2') 

def View2(request): 
    img_string = request.session.get('image_file') 
+0

Mögliche Duplikat in Ihrem zusätzliche Arbeit zu tun, von https://stackoverflow.com/questions/27426594/passing-a-file-from-one-view-to-another-in-django-using-sessions – Bijoy

Antwort

0

Versuchen Sie das Bild als Parameter übergeben:

def View1(request): 

    form = FileForm(request.POST or None, request.FILES or None) 
    if request.method == 'POST': 
     if form.is_valid(): 
      image = request.FILES.get('image') 

      return redirect('View2', image) 

def View2(request, image=None): 
    img_string = image 

Sie benötigen urls.py

Verwandte Themen