[PYTHON] Présentons la bibliothèque actuellement utilisée par les ingénieurs avec environ 3 ans d'expérience dans Django

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.

Livraison de fichier statique

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.

Chercher

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é.

Ajoutez des commandes pour faciliter le travail de développement et simplifier le code des modèles fréquemment écrits

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.

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.

cache

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 ...)

Sécurité

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é.

Autres sites utiles

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

Présentons la bibliothèque actuellement utilisée par les ingénieurs avec environ 3 ans d'expérience dans Django
Trier en Python. Pensons ensuite à l'algorithme.
Comprendre en 10 minutes le sélénium
Le sélénium fonctionne en 15 minutes
À propos de __all__ en python
Présentons la bibliothèque actuellement utilisée par les ingénieurs avec environ 3 ans d'expérience dans Django
Voyons comment utiliser def en python
Trouvons le rapport de circonférence avec Python
À propos de "for _ in range ():" de python
Commencez dans 5 minutes GIMP Python-Fu
Prouvons le théorème d'addition d'une fonction triangulaire en remplaçant la fonction par une fonction dans SymPy (≠ substitution)
Paramètre pour entrer le contenu de la bibliothèque avec pytest et effectuer un test de débogage
L'histoire de l'utilisation de mysqlclient car PyMySQL ne peut pas être utilisé avec Django 2.2
Django ~ Affichons-le sur le navigateur ~
Avantages et inconvénients de Django que pensent les personnes ayant un an d'expérience
Comprendre les images de diverses opérations matricielles utilisées dans Keras (Tensorflow) avec des exemples
Correction des arguments de la fonction utilisée dans map
[Note] À propos du rôle du trait de soulignement "_" en Python
L'histoire de l'affichage des fichiers multimédias dans Django
Rechercher par la valeur de l'instance dans la liste
[Django] Essayons de clarifier la partie de Django qui était en quelque sorte à travers le test
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)