Cet article est l'article du 10ème jour de Django Advent Calender 2016.
salut! Je suis ingénieur depuis environ 3 ans depuis que j'ai commencé à utiliser Django dans mon travail actuel. Cette fois, je voudrais vous présenter la bibliothèque liée à Django que j'utilise actuellement, qui sert également de moyen d'organiser mes propres connaissances.
django-storages https://pypi.python.org/pypi/django-storages
Une bibliothèque pour fournir des fichiers statiques sur des CDN tels qu'Amazon S3. Une version fork appelée django-storages-redux est née car elle n'était pas compatible avec Python3, mais elle prend désormais en charge jusqu'à la dernière version 3.5. Faire. Récemment, whitenoise semble être populaire, et je pense changer si vous pouvez l'essayer.
django-compressor https://pypi.python.org/pypi/django_compressor/2.1
C'est une bibliothèque qui combine plusieurs fichiers css et js en un seul. Il existe également une fonction qui intègre le contenu en ligne et réduit la quantité de transfert de données en regardant les sauts de ligne et les commentaires. Il peut également être combiné avec des compilateurs tels que altJS et Sass (SCSS).
easy-thumbnails https://pypi.python.org/pypi/easy-thumbnails/2.3
C'est une bibliothèque qui génère ce que l'on appelle des "images de gorge". Si l'image qui est la source de l'image miniature est supprimée, seule l'image miniature restera comme des déchets, vous devez donc la supprimer régulièrement avec la commande miniature_cleanup
.
django-haystack
https://pypi.python.org/pypi/django-haystack/2.5.1
Il est utilisé pour les informations de localisation dans Elasticsearch.
Lorsque vous utilisez les informations de localisation, vous ne pouvez rechercher que dans l'environnement où libgeoip
est installé.
django-extensions https://pypi.python.org/pypi/django-extensions/1.7.5
C'est une bibliothèque qui vous donne l'impression de pouvoir atteindre l'endroit qui démange, ce qui améliore encore les différentes fonctions de Django. J'aime particulièrement les commandes suivantes.
runserver_plus
--Code peut être exécuté sur n'importe quelle ligne de la trace de pile lorsqu'une erreur se produit.shell_plus
--shell
est démarré avec des instructions d'importation fréquemment utilisées telles que la classe de modèle et à partir des paramètres d'importation de django.conf
exécutés à l'avance.django-formtools https://pypi.python.org/pypi/django-formtools/1.0
C'est une librairie pour réaliser le mouvement "input" -> "confirmation" -> "send" que l'on retrouve souvent dans les formulaires de demande. Initialement intégré à Django lui-même, il est devenu indépendant de la version 1.8.
django-model-utils https://pypi.python.org/pypi/django-model-utils/2.6
Une bibliothèque qui vous permet d'écrire de manière concise des modèles souvent utilisés dans la conception de modèles.
StatusField ou [Choices](http://django-model-utils.readthedocs.io/en/ La dernière classe / utilities.html # choix) est souvent utilisée car c'est un moyen plus propre d'écrire un champ tel que "status" où seule une valeur prédéterminée peut être saisie, plutôt que de passer normalement un taple à l'attribut choice
. Je vais.
django-braces https://pypi.python.org/pypi/django-braces
Une bibliothèque de classes mixtes de vues basées sur les classes. Si vous lisez attentivement la Documentation avant de commencer le développement, le développement se déroulera facilement. Pour LoginRequiredMixin, LoginRequiredMixin est le standard de Django 1.9. (/ fr / dev / topics / auth / default / # the-loginrequired-mixin) est créé, il est donc préférable d'utiliser le standard.
django-debug-toolbar https://pypi.python.org/pypi/django-debug-toolbar/1.6
C'est une bibliothèque qui affiche une barre d'outils pour le débogage sur le côté droit de l'écran du navigateur. Il est utile pour vérifier le contenu de sortie du journal et les requêtes lancées à la base de données. Il existe également une commande pratique appelée «debugsqlshell» qui analysera les requêtes lancées par les opérations de modèle depuis le dessus du shell.
django-haystack-panel https://pypi.python.org/pypi/django-haystack-panel/0.2.1
Une extension de django-debug-toolbar qui analyse les requêtes lancées depuis django-haystack.
REST API djangorestframework https://pypi.python.org/pypi/djangorestframework/3.5.3
Une bibliothèque standard pour créer des services qui fournissent des API REST avec Django. C'est assez sophistiqué, donc en fonction de ce que vous voulez faire, les [JSONResponseMixin] de django-braces (https://django-braces.readthedocs.io/en/latest/other.html#jsonresponsemixin), JsonRequestResponseMixin, AjaxResponseMixin Vous devriez l'utiliser.
django-fancy-cache https://pypi.python.org/pypi/django-fancy-cache
Une bibliothèque pour des choses comme "effacer un cache de page spécifique lorsque ces données sont mises à jour". (Étonnamment, le cache de page standard ne peut pas faire cela ...)
django-axes https://pypi.python.org/pypi/django-axes
C'est une bibliothèque qui fige l'écran de connexion pendant un certain temps si la connexion échoue un certain nombre de fois. Il est présenté comme une contre-mesure contre les robots qui tentent de voler un compte avec Brute Force (ou Reverse Brute Force). Étant donné que les journaux sont crachés au niveau WARN lorsqu'ils sont gelés, il s'agit d'une politique de notification par e-mail ou Slack et de blocage des adresses IP qui réessayent de manière persistante avec un pare-feu.
django-password-validation https://pypi.python.org/pypi/django-password-validation
Vous pouvez forcer certains mots de passe compliqués lors de l'enregistrement / mise à jour des mots de passe. [Validation du mot de passe] introduit à partir de Django 1.9 Cette bibliothèque rétroportage (https://docs.djangoproject.com/en/dev/topics/auth/passwords/#password-validation) vers la version 1.8 ou antérieure. Le service sur lequel je travaille utilise maintenant la version 1.8, je l'ai donc présenté.
Lisez les conditions requises et ci-dessous du modèle de projet Django appelé cookiecutter-django. recommander à. [^ 1] https://github.com/pydanny/cookiecutter-django
[^ 1]: Au fait, cookiecutter-django est [présenté] par @aki_yok le 5ème jour (http://akiyoko.hatenablog.jp/entry/2016/12/05/023834) "Two Scoops of Django" : Best Practices for Django 1.8 "est également un modèle recommandé.
Recommended Posts