Dieser Artikel ist der Artikel zum 10. Tag des Django Advent Calender 2016.
Hallo! Ich bin seit ungefähr 3 Jahren Ingenieur, seit ich angefangen habe, Django in meiner jetzigen Position einzusetzen. Dieses Mal möchte ich die Django-bezogene Bibliothek vorstellen, die ich derzeit benutze und die auch dazu dient, mein eigenes Wissen zu organisieren.
django-storages https://pypi.python.org/pypi/django-storages
Eine Bibliothek zum Bereitstellen statischer Dateien auf CDNs wie Amazon S3. Eine Fork-Version namens django-storages-redux wurde geboren, weil sie nicht mit Python3 kompatibel war, aber jetzt bis zum neuesten 3.5 unterstützt. tun. In letzter Zeit scheint whitenoise beliebt zu sein, und ich denke darüber nach, zu wechseln, wenn es in Ordnung ist, es zu versuchen.
django-compressor https://pypi.python.org/pypi/django_compressor/2.1
Es ist eine Bibliothek, die mehrere CSS- und JS-Dateien in einer kombiniert. Es gibt auch eine Funktion, die den Inhalt inline einbettet und die Datenübertragung reduziert, indem Zeilenumbrüche und Kommentare betrachtet werden. Es kann auch mit Compilern wie altJS und Sass (SCSS) kombiniert werden.
easy-thumbnails https://pypi.python.org/pypi/easy-thumbnails/2.3
Es ist eine Bibliothek, die sogenannte "Halsbilder" erzeugt. Wenn das Bild, aus dem das Miniaturbild stammt, gelöscht wird, bleibt nur das Miniaturbild als Müll übrig. Sie müssen es daher regelmäßig mit dem Befehl "thumbnail_cleanup" löschen.
django-haystack https://pypi.python.org/pypi/django-haystack/2.5.1 Es wird für Standortinformationen in Elasticsearch verwendet. Wenn Sie Standortinformationen verwenden, können Sie nur in der Umgebung suchen, in der "libgeoip" installiert ist.
django-extensions https://pypi.python.org/pypi/django-extensions/1.7.5
Es ist eine Bibliothek, in der Sie das Gefühl haben, den juckenden Ort erreichen zu können, was die verschiedenen Funktionen von Django weiter verbessert. Die folgenden Befehle gefallen mir besonders gut.
--runserver_plus
Befehl
--Code kann in jeder Zeile des Stack-Trace ausgeführt werden, wenn ein Fehler auftritt.
--shell_plus
Befehl
--shell
wird mit häufig verwendeten Importanweisungen wie der Modellklasse und from django.conf import settings
gestartet, die im Voraus ausgeführt wurden.
django-formtools https://pypi.python.org/pypi/django-formtools/1.0
Es ist eine Bibliothek, um die Bewegung von "Eingabe" -> "Bestätigung" -> "Senden" zu realisieren, die häufig in Anfrageformularen zu finden ist. Ursprünglich in Django selbst eingebaut, wurde es unabhängig von 1.8.
django-model-utils https://pypi.python.org/pypi/django-model-utils/2.6
Eine Bibliothek, mit der Sie Muster präzise schreiben können, die häufig im Modelldesign verwendet werden. StatusField oder [Choices](http://django-model-utils.readthedocs.io/en/ Die neueste Klasse / utilities.html (Auswahlmöglichkeiten) wird häufig verwendet, da sie eine sauberere Methode zum Schreiben eines Felds wie "Status" darstellt, in das nur ein vorgegebener Wert eingegeben werden kann, anstatt normalerweise ein Taple an das Attribut "Auswahl" zu übergeben. Ich werde.
django-braces https://pypi.python.org/pypi/django-braces
Eine Bibliothek mit gemischten Klassen klassenbasierter Ansichten. Wenn Sie die Dokumentation sorgfältig lesen, bevor Sie mit der Entwicklung beginnen, wird die Entwicklung problemlos fortgesetzt. Für LoginRequiredMixin ist LoginRequiredMixin Standard von Django 1.9. (/ de / dev / themes / auth / default / # the-loginrequired-mixin) wird erstellt, daher ist es besser, den Standard zu verwenden.
django-debug-toolbar https://pypi.python.org/pypi/django-debug-toolbar/1.6
Es handelt sich um eine Bibliothek, die auf der rechten Seite des Browserbildschirms eine Symbolleiste zum Debuggen anzeigt. Es ist nützlich, um den Ausgabeinhalt des Protokolls und die an die Datenbank geworfenen Abfragen zu überprüfen. Es gibt auch einen praktischen Befehl namens "debugsqlshell", der die Abfragen analysiert, die von Modelloperationen über der Shell ausgelöst werden.
django-haystack-panel https://pypi.python.org/pypi/django-haystack-panel/0.2.1
Eine Erweiterung der Django-Debug-Symbolleiste, die Abfragen analysiert, die vom Django-Heuhaufen geworfen wurden.
REST API djangorestframework https://pypi.python.org/pypi/djangorestframework/3.5.3
Eine Standardbibliothek zum Erstellen von Diensten, die REST-APIs mit Django bereitstellen. Es ist ziemlich raffiniert, also je nachdem, was Sie machen möchten, [JSONResponseMixin] von django-braces (https://django-braces.readthedocs.io/en/latest/other.html#jsonresponsemixin), JsonRequestResponseMixin, AjaxResponseMixin Du solltest es benutzen.
django-fancy-cache https://pypi.python.org/pypi/django-fancy-cache
Eine Bibliothek für Dinge wie "Bestimmte Seiten-Caches löschen, wenn diese Daten aktualisiert werden". (Überraschenderweise kann der Standard-Seiten-Cache das nicht ...)
django-axes https://pypi.python.org/pypi/django-axes
Es ist eine Bibliothek, die den Anmeldebildschirm für eine Weile einfriert, wenn die Anmeldung eine bestimmte Anzahl von Malen fehlschlägt. Es wird als Gegenmaßnahme gegen Bots eingeführt, die versuchen, ein Konto bei Brute Force (oder Reverse Brute Force) zu stehlen. Da Protokolle beim Einfrieren auf WARN-Ebene ausgespuckt werden, ist es eine Richtlinie, per E-Mail oder Slack zu benachrichtigen und IP-Adressen zu blockieren, die dauerhaft mit einer Firewall wiederholt werden.
django-password-validation https://pypi.python.org/pypi/django-password-validation
Sie können einige komplizierte Passwörter erzwingen, wenn Sie Passwörter registrieren / aktualisieren. [Passwortvalidierung] eingeführt von Django 1.9 Diese Bibliothek wird auf 1.8 oder früher zurückportiert (https://docs.djangoproject.com/de/dev/topics/auth/passwords/#password-validation). Der Dienst, an dem ich gerade arbeite, verwendet 1.8, also habe ich ihn eingeführt.
Lesen Sie die Anforderungen und unten von Djangos Projektvorlage namens cookiecutter-django. empfohlen für. [^ 1] https://github.com/pydanny/cookiecutter-django
[^ 1]: Cookiecutter-Django wird übrigens am 5. Tag von @aki_yok eingeführt "Two Scoops of Django" : Best Practices für Django 1.8 "ist ebenfalls eine empfohlene Vorlage.