Python Pylance Django
(Si vous voulez Djaneiro ou d'autres du genre mais ces trois là vont bien)
/// Pour avoir l'autocompletion dans les templates
"files.associations": {
"*.py": "python",
"**/*.html": "html",
"**/templates/**/*.html": "django-html",
"**/templates/**/*": "django-txt",
"**/requirements{/**,*}.{txt,in}": "pip-requirements"
},
/// Pour avoir Emmet dans les templates (div.container --> <div class="container"></div>)
"emmet.showSuggestionsAsSnippets": true,
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact",
"django-html": "html"
},
https://blog.khodok.xyz/ (Mon site pour des examples de trucs faisables en Django) https://www.djangoproject.com/en/stable/ (La doc de Django (en version stable, donc la dernière officielle), elle est supra complète donc lisez la quand vous avez besoin d'aide) https://tutorial.djangogirls.org/en/ (Le meilleur site pour apprendre les bases de Django selon beaucoup) https://learndjango.com/ (Un site par l'un des Djangofellows (des membres de l'administration Django), a pas mal de bon tutos) https://github.com/wsvincent/awesome-django (Une liste épurée de bons liens à propos de Django (packages, tutos, best practice, etc)) https://djangopackages.org/ (Un site avec des packages (ou reusable apps en Django) Django)
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
https://steelkiwi.com/blog/best-practices-working-django-models-python/
- Constantes (pour les choices par example)
- Les fields
- Custom managers
- class meta
- def unicode (python 2) or def str (python 3)
- Autres trucs du même genre
- def clean
- Autres types de clean methods (rare)
- def save
- Autres types de save methods (rare)
- def get_absolut_url
- Autres types de méthodes pour des urls absolus (les définir ici est bon pour rester DRY à la place d'utilise le templatetag url tout le temps)
- Autre méthodes et properties
Les properties sont juste des champs calculés (age par exemple), il sont basés sur des données du modèles mais ne sont normalement jamais affichés, en calculant l'âge d'un truc en se basant sur un champ date on peut ensuite l'afficher juste en l'appelant ou même le mettre dans une liste d'élément de l'admin)
Les Managers sont avancés mais utiles, ils permettent de redéfinir objects (self.model.objects.all()), ou d'y rajouter des querysets plus complets. Ils font ce qu'on fait souvent dans les views, mais le font directement sur la DB (donc les requêtes sont beaucoup plus optimisées) Ils sont souvent nommés objects parce que ça change pas grand chose en soit (le queryset par défaut est rarement modifié, même si en soit on peut le remodifier dans un manager, il faudrait éviter, et plutôt rajouter des éléments en plus) Ils permettent de rendre le code plus DRY, et aussi d'optimiser le tout, c'est pas obligatoire, mais si vous voulez vous y intéresser checkez sur la doc en cherchant Managers ou sur google)