Verwenden von Djangos ImageField mit AppEngine / Python

Verwenden von Djangos ImageField mit AppEngine / Python

Wenn Sie eine Bild-Upload-Funktion hinzufügen, Wenn Sie das mit Django gelieferte ImageField verwenden, Es ist praktisch, weil es verarbeitet, ob das Bild geeignet ist, Es funktioniert nicht, weil AppEngine kein PIL hat. Eigentlich mit ImageField no module named image Ich erhalte einen solchen Fehler und sowohl die Entwicklung als auch die Produktion schlagen fehl.

Hinter dem Kühler:  https://developers.google.com/appengine/docs/python/images/installingPIL Als ich diese Seite zum ersten Mal sah, habe ich falsch verstanden, dass PIL mit AppEngine verwendet werden kann, daher hat die Lösung lange gedauert. Tatsächlich lässt AppEngine PIL nicht zu und macht stattdessen eine API für Bilder verfügbar. Die richtige Antwort besteht darin, eine PIL zur Entwicklung in den AppEngine-Server aufzunehmen, um diese API zu emulieren.

Ich war immer skeptisch, wie man PIL installiert.

Einführung von Dummy-PIL

Djangos Framework kann nicht mit echtem AppEngine manipuliert werden. Ich dachte, ich müsste den Prozess selbst schreiben, Ich googelte und fand eine Lösung.

Image uploads working with models.ImageField on django-nonrel/appengine w/ django-fileuploads - ZONE – UYSRC Developer Blog

Die von Django verwendete PIL-Funktion, Die Lösung besteht darin, einen Dummy zu erstellen, der in die AppEngine-API eingeschlossen ist. In diesem Fall können Sie ImageField verwenden, ohne den Kern von Django zu berühren.

Wie benutzt man

PIL/init.py Die Quelle ist oben. Erstellen Sie einen Ordner mit dem Namen PIL im Stammverzeichnis der AppEngine-Anwendung Erstellen Sie dort das obige init.py und Sie können loslegen. Danach können Sie ImageField wie normales Django verwenden.

Recommended Posts

Verwenden von Djangos ImageField mit AppEngine / Python
Verwendung von Django mit Google App Engine / Python
Verwenden Sie ndb.tasklet mit Google App Engine
[Python] Führen Sie Flask in Google App Engine aus
Verwenden Sie externe Module mit Google App Engine
Tweet (API 1.1) mit Google App Engine für Python
Verwenden Sie matplotlib unter Ubuntu 12 und Python
PIL in Python unter Windows8 (für Google App Engine)
Verwenden Sie Python unter Windows (PyCharm)
Sakura Verwenden von Python im Internet
Djangos ImageField
Führen Sie Cloud Dataflow (Python) über AppEngine aus
Memorandum über die Verwendung von Gremlin Python
Verwenden Sie es, ohne Python 2.x unter Windows zu installieren
Installieren Sie Python auf xserver, um pip zu verwenden
Python unter Windows
Twitter mit Python3
Gewinnen Sie die Python + Flask-Web-App mit Jenkins
Verwendung von Python Kivy ④ ~ Ausführung unter Android ~
Python auf Mac
Meine Gedanken zur Python2.6-Befehlszeilen-App-Vorlage
Erstellen Sie eine Python3 + -Kolbenumgebung auf der Compute Engine von GCP
Python auf Windbg
Bis zur Verwendung von PhantomJS mit Python auf Heroku
Verwenden Sie die LibreOffice-App in Python (3) Bibliothek hinzufügen
(Anfänger) Grundlegende Verwendung des Datenspeichers von Google App Engine
Erste Schritte mit Google App Engine für Python und PHP
SPA-Lernbeispiel (Angular2 + Bootstrap / App Engine / Python + Webapp2)
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Laufzeitversion der Google App Engine / Python-Standardumgebung
Web-Scraping für Anfänger mit Python (4) --2 Scraping auf Cloud Shell
Verwenden Sie thingspeak aus Python
Python Conda mit Cygwin
Installieren Sie Python auf der WSL
Verwenden Sie config.ini mit Python
PyOpenGL-Setup unter Python 3
[Python] Verwenden Sie JSON mit Python
Verwenden Sie fließend Python
Installieren Sie Python auf Pidora.
Installieren Sie Scrapy auf Python3
Verwenden Sie Valgrind mit Python
Verwenden Sie MySQL aus Python
Verwenden Sie Mecab mit Python 3
Installieren Sie Python auf dem Mac
Verwenden Sie LiquidTap Python Client ③
Pandas auf python2.6 installieren
Verwenden Sie Python 3.8 mit Anaconda
Haben Sie Empfehlungen für ein Kommentarbuch zur Entwicklung von GoogleAppEngine / Python?
Python Basic ② in Windows
Installieren Sie Python unter Windows
Verwenden Sie Python mit Docker
Verwenden Sie LiquidTap Python Client ②
Jinja2 | Python-Vorlagen-Engine
Installieren Sie Python 2.7.3 unter CentOS 5.4
Verwenden Sie BigQuery aus Python.
Verwenden Sie den Profiler in Python
Verwenden Sie Ansible unter Windows
Build Python auf Ubuntu
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installieren Sie Python 3.4 auf einem Mac
Verwenden Sie QuTiP unter Windows