Lorsque vous souhaitez utiliser un peu d’AngularJS dans votre projet Django pour dynamiser votre application, vous risquez d’avoir un petit soucis avec CSRF. Django utilise un système de Token pour protéger votre application de la vulnérabilité CSRF. Lorsque vous allez faire une requête via AngularJS ($http.post() par exemple), celle-ci se fera sans que le TokenLire la suite
Catégorie : Django
Django Rest Framework – Import cyclic, comment s’en sortir
Je vais être franc, je ne suis pas sûr de proposer une solution élégante à ce problème, mais je n’ai pas réussi à trouver mieux. Pour illustrer le problème il suffit de prendre le cas d’un model Utilisateur et d’un model Article. On souhaite créer un UserSerializer qui inclut tous les Articles de l’auteur etLire la suite
Uploader un fichier avec AngularJS et Django Rest Framework
Hey les amis ! Voici un petit tips rapide pour gérer l’upload de fichier avec AngularJS en front et Django-Rest-Framework en back. C’est assez simple quand on a toutes les cartes en main (et j’ai galéré pour toutes les avoir ces foutus cartes :D). Alors côté AngularJS j’utilse la bibliothèque ng-file-upload. L’installation est simple commeLire la suite
Django : https, nginx, uwsgi et is_secure()
Si vous utilisez wsgi avec nginx pour servir vos application Django, vous avez peut être rencontré ce problème : request.is_secure() return false, alors que votre site est bien en HTTPS… La solution est très simple, dans votre fichier de conf Nginx ajoutez: server { listen 443; server_name my_domain.io; ssl on; ssl_certificate /etc/nginx/certificates/certif.crt; ssl_certificate_key /etc/nginx/certificates/certif.key;Lire la suite
Django Debug Toolbar et AngularJS, parse error
Si vous utilisez Django Debug Toolbar, et que vous utilisez aussi AngularJS, il vous est peut etre arrivé d’avoir une erreur de parsing d’AngularJS. Le problème c’est que pour afficher certaines données, Django Debug Toolbar va utiliser (( )) {{ }} [[ ]] comme caractères … Pour ma part, pour ne pas avoir de conflitLire la suite
Model class django.contrib.contenttypes.models.ContentType doesn’t declare an explicit app_label
En voilà un warning pratique à régler encore. /[…]/python2.7/site-packages/django/contrib/contenttypes/models.py:159: RemovedInDjango19Warning: Model class django.contrib.contenttypes.models.ContentType doesn’t declare an explicit app_label and either isn’t in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class ContentType(models.Model): Et si vous utilisez le module auth, voua aurezLire la suite
Django – login as. Se connecter à un autre compte quand on est admin
Parfois, lorsqu’un utilisateur nous reporte un bug, on aimerait bien se connecter à son compte pour mieux comprendre son problème. Django_su est la bibliothèque Django qu’il vous faut pour cela. Le projet est assez ancien (il a été créé en 2011) et il reste encore assez actif. Pour preuve j’ai fait une pull request quiLire la suite
Utiliser Celery dans un projet Django
Celery permet de façon simple, l’exécution de code Django en background. Un exemple simple d’utilisation est lorsque l’on permet à l’utilisateur de faire une tache qui prends plusieurs secondes à s’exécuter, celui-ci doit attendre la fin de la tâche pour que la page se charge. Et ça, c’est pas cool ! Celery va permettre d’exécuterLire la suite
CentOS7, Django, virtualenv, uwsgi et nginx. On déploie !
Cela peut paraître un peu complexe, mais en faite pas du tout ! Utiliser nginx avec une application Django c’est assez simple. Je vais vous le prouver ! Pré-requis Nous allons faire pointer le domaine my_site.local vers notre app Django. On part du CentOS7 fraîchement installée pour l’exemple. Installation de base Tout d’abord on installeLire la suite
JQuery – Recharger une image
Un exemple simple pour voir la mise en application du rechargement d’image via javascript sans avoir à recharger l’ensemble de la page.
Le cas d’utilisation classique est le rechargement d’une image suite à un appel ajax qui modifie cette image.