Ich habe versucht, mit Django eine Funktion zum Hochladen von Bildern hinzuzufügen, aber es hat unerwartet lange gedauert, daher werde ich die Punkte notieren, über die nachgedacht werden muss.
Ich habe das Hochladen von Bildern implementiert, während ich auf diesen Artikel verwiesen habe.
Implementieren und Anzeigen von Bildern mit Django implementieren
Die Hauptfehler sind:
Ersteres ist normalerweise ein individuelles Thema, daher werde ich darüber sprechen, was Letzteres übersehen hat.
Umgebung: Mac OS Mojave python 3.7 django 2.1.2 Pillow 7.1.2
Dieser Projektname: app
Beim Kopieren wurde in der Befehlszeile der folgende Fehler angezeigt.
resolved field 'emp_photo' with 'exact' lookup to an unrecognized field type ImageField
Nach vielen Recherchen stellte ich fest, dass ich in "app / filter.py" "Felder" angeben musste, um die Variablen in der Bilddatei auszuschließen. (App
ist der Name dieses Projekts.)
app/filters.py
class FooFilterSet(django_filters.FilterSet):
class Meta:
model = Foo
fields = ("hoge", "fuga") #Fügen Sie hier nichts zu ImageField hinzu!
app/templates/app/form.html
<div class="row">
<div class="col-12">
<!--Der folgende Enctype="multipart/form-data"Ist ein Muss!-->
<form method="post" id="myform" enctype="multipart/form-data">
{% crispy form %}
</form>
</div>
</div>
Wie oben erwähnt, wird der Inhalt der Datei nicht gesendet und nur der Dateiname wird gesendet, wenn "enctype =" multipart / form-data "" nicht in "form method" enthalten ist. Weitere Details finden Sie hier.
Recommended Posts