J'essayais d'ajouter une fonction de téléchargement d'image avec Django, mais cela a pris du temps de façon inattendue, donc je noterai les points sur lesquels réfléchir.
J'ai implémenté le téléchargement d'images en me référant à cet article.
Implémenter le téléchargement et la visualisation d'images à l'aide de Django
Les principales erreurs sont:
Le premier est généralement un problème individuel, je vais donc parler de ce que le second a négligé.
environnement: Mac OS Mojave python 3.7 django 2.1.2 Pillow 7.1.2
Ce nom de projet: ʻapp`
Lorsque je copiais, j'ai eu l'erreur suivante sur la ligne de commande.
resolved field 'emp_photo' with 'exact' lookup to an unrecognized field type ImageField
Après de nombreuses recherches, j'ai trouvé que je devais spécifier des fields
dans ʻapp / filters.py pour exclure les variables du fichier image. (ʻApp
est le nom de ce projet.)
app/filters.py
class FooFilterSet(django_filters.FilterSet):
class Meta:
model = Foo
fields = ("hoge", "fuga") #N'incluez rien en rapport avec ImageField ici!
app/templates/app/form.html
<div class="row">
<div class="col-12">
<!--Le type suivant="multipart/form-data"Est un must!-->
<form method="post" id="myform" enctype="multipart/form-data">
{% crispy form %}
</form>
</div>
</div>
Comme décrit ci-dessus, si form method
n'inclut pas ʻenctype =" multipart / form-data "`, le contenu du fichier ne sera pas envoyé et seul le nom du fichier sera envoyé. Plus de détails ici.
Recommended Posts