[PDF] Tuto-Django.pdf 12 juil. 2022 1 Ce





Previous PDF Next PDF



***N 91

9 sept. 1980 Bien que la langue scientifique soit encore le latin L'Essayeur et le Dialogue sur les deux grands systèmes du monde sont écrits en italien ...



Cours PHP Accéléré

12 juil. 2022 Les grands CMS Content Management Systems ou Systèmes de Gestion de ... de 300 millions de sites sont réalisés en PHP à travers le monde !



Lorigine des espèces

Il y a de grandes diffé- elle considère que le livre de Darwin a pour grand mérite de donner les ... Dialogue sur les deux grands systèmes du monde.



Mohamed Abed Al Jabri

3-2-Al-'Irf?n ou la spécificité du système mystique arabe…………………………………………. 74 grand Ibn Rushd dans les pays musulmans et la réussite de.



« UNE LOGIQUE DE COMMUNICATION » De P. WATZLAWICK J

Le langage psychologique étant monadique on perd le sens du système. II/ Les notions : Ashby critique ainsi la construction intellectuelle et sa réification



La Tunisie à lépreuve de la territorialisation: réalités et perspectives

23 janv. 2018 véritables systèmes produisant elles-mêmes du développement ... Méditerranée et le monde Méditerranéen à l'époque de Philippe II » en ...



Outils pédagogiques pour les formateurs - Action for the Rights of

L'efficacité de ce cycle repose sur l'inclusion de ces deux types d'apprentissage. des besoins de formation ou faire partie du système d'évaluation;.



HISTORIA IN FABULA

16 sept. 2013 Après deux livres décrivant un lieu clos un monastère et ce musée. [Les Arts et Métiers à Paris]



Tuto-Django.pdf

12 juil. 2022 1 Ce cours au format epub. 1. 2 Ce cours au format pdf. 3. 3 Autres tutoriels. 5. 4 Tables des matières : 7. 4.1. LeFrameworkDjango .



Dialogues sur la religion naturelle - Philotextes

2e partie : La connaissance du monde peut-elle conduire à la connaissance de Dieu ? nous proposons en fait un système complet des sciences.



Dialogue sur les deux grands systèmes du monde de Galilée

Le format du Dialogue sur les deux grands systèmes du monde de Galilée Devoir de l'UE Révolution Scientifique (responsable : Sophie Roux) – ENS Galilée ne manque pas d'illustrer les cours de physique depuis le collège jusqu'aux études supérieures

Qui a créé le dialogue sur les deux grands systèmes du monde ?

Ouvrage Dialogue sur les deux grands systèmes du monde publié par Galilée en 1632. Portrait de Galilée par Giusto Sustermans en 1636. Le Dialogue sur les deux grands systèmes du monde (en italien : Dialogo sopra i due massimi sistemi del mondo) est un ouvrage demandé à Galilée par le pape Urbain VIII vers 1624 n 1 et publié en 1632.

Quels sont les deux grands systèmes du monde ?

En 1623, Galilée se remet à sa défense de la philosophie copernicienne, le livre résultera du dialogue des deux grands systèmes du monde. Les systèmes du monde sont les systèmes astronomiques : système de Ptolémé. Galilée veut toucher le grand monde et pas seulement ceux qui sont dans les universités.

Qui a écrit entre deux mondes ?

En 2017, il publie "Entre deux mondes" où il aborde un sujet brûlant d'actualité : le parcours de migrants arrivant en France. Il remporte l'Étoile du Parisien du meilleur polar 2017. Norek a travaillé à l’écriture de la sixième saison de la série télévisée française "Engrenages" (2017).

Quel est le genre du dialogue ?

L'art, le genre du dialogue. Figure de rhétorique qui consiste à mettre sous la forme de dialogue les idées ou les sentiments que l'on prête à ses personnages, comme dans ces vers de la Fontaine : • Est-ce assez, dites-moi ?

Tuto-Django.pdf

Tuto-Django

Version 1.0.3

Gérard Rozsavolgyi

juin 27, 2023

Table des matières

1 Ce cours au format epub

1

2 Ce cours au format pdf

3

3 Autres tutoriels

5

4 Tables des matières :

7

4.1 Le Framework Django

7

4.2 Framework Web généraliste offrant

9

4.3 Versions

9

4.4 Alternatives

9

4.5 Installation Django

9

4.6 Versionnage des requirements

11

4.7 Création du projet de base

12

4.8 Configuration

15

4.9 les URLs et les Vues

16

4.10 Les views

16

4.11 Le modele de "lesTaches» : class Task

17

4.12 Utilisation de l"interface d"administration

19

4.13 Intérêt des templates

22

4.14 Les bases de l"interface client

22

4.15 Héritage de templates

23

4.16 Twitter Bootstrap

26

4.17 Template de base Bootstrap

27

4.18 Création de formulaires en Django

31

4.19 ModelForms et templates

37

4.20 CrispyForms

41

4.21 App déployée sur Gitpod

42

4.22 Compléments sur les modèles Django

42

4.23 Vues génériques et compléments sur les migrations avec Django

45

4.24 Modèle et admin de Django

54

4.25 Tester une application Python Django - TDD

56

4.26 Tester une application Django

61 i

4.27 Faire des tests plus complets avec Selenium. . . . . . . . . . . . . . . . . . . 63

4.28 User story et tests fonctionnels

67

4.29 Versionnage Git

70

5 Tutos séparés en pdf

77

6 Projet Django

79

7 Références

81

8 Index et recherche

83

Index85ii

CHAPITRE1Ce cours au format epub

Django en accéléré format epub

1

Tuto-Django, Version 1.0.3

2 Chapitre 1. Ce cours au format epub

CHAPITRE2Ce cours au format pdf

Django en accéléré en pdf

3

Tuto-Django, Version 1.0.3

4 Chapitre 2. Ce cours au format pdf

CHAPITRE3Autres tutoriels

T utoDjango TDD

(https ://www .univ-orleans.fr/iut- orleans/informatique/intra/tuto/django/)

T utoPHP et Symf ony

(https ://www .univ-orleans.fr/iut- orleans/informatique/intra/tuto/php/)

T utorielJa vaScript

(https ://www .univ-orleans.fr/iut-orleans/informatique/intra/tuto/JS-

ES-APIs/)

T utorielGit / TDD

(https ://www .univ-orleans.fr/iut-orleans/informatique/intra/tuto/git- tutoriel/)

F ormationGit (Slides Gitlab) /TDD

(https ://roza.gitlab.io/f ormation-git)

F ormationGit (Slides IUTO) /TDD

(https ://www .univ-orleans.fr/iut- orleans/informatique/intra/tuto/git/)

Git TDD et Intég rationContinue

(https ://roza.gitlab.io/tdd-p ython-tests-gitlab-ci/)5

Tuto-Django, Version 1.0.3

6 Chapitre 3. Autres tutoriels

CHAPITRE4Tables des matières :

4.1

Le F rameworkDjango

4.1.1

Hist orique

Dév eloppéà l" origineà par tirde 2003 pour un jour nallocal de la ville de La wrencedans

le Kansas par Adrian Holovaty et Simon Willison But : R éaliserune sor tede CMS, simple à utiliser pour les non inf ormaticiens

En Open Source sous Licence BSD depuis 2005

Beaucoup d"év olutionsdepuis

N omméainsi en souv enirde Django R einhardt,musicien de Jazz 7

Tuto-Django, Version 1.0.3

4.1.2

Car actéristiques

Frame workW ebde réf érence

ORM, T emplates

Cac he

Mig rations(intég réestardiv ement,l"un des meilleurs sy stèmede mig rationse xistant)

F ormulaires,V uesgénér iques

A uthentification

Inter nationalisation,U nicode

Ges tioncomplète des e xceptions

Bonne documentation

En bref :Batteries included8 Chapitre 4. Tables des matières :

Tuto-Django, Version 1.0.3

4.2

F rameworkW ebgénér alisteoffr ant

MVT = Modèle V ueT emplate

Sy stèmede templates

ORM = Object R elationalMapper (comme SQLAlc hemyou Doctr ine)

Ser veurW ebintég ré

Inter faced" Admincomplète, souple et e xtensible 4.3

V ersions

OpenSource (BSD) en 2005

V ersion1.0 en 2008

V ersion1.4 L TSen 2012

V ersion1.8 L TSen 2015

A ctuelle(2020) : 3.1

V ersion1.11 es tla der nièrea vecle suppor tPython 2 La dis tributiondjango 2.2 en 2019 es tL TSet la v ersionactuelle es tla 3.1.1 La proc hainerelease L TSde django sera la 3.2 q uisor tiraen 2021 4.4

Alt ernatives

En Python les alternatives sont notamment :

Flask (microframe worka vecJinja2 pour les templates et SQLAlc hemypour ORM)

Pyramid

T ornado(or ientéprog rammationasync hroneet W ebSoc kets) F astAPIpour cons truirerapidement une API en Python 4.5 Inst allationDjango Indication :Il faut savoir utiliser un virtualenv en Python ...4.5.1Vir tualenv

En vironnementvir tuelPython

P ermetd"ins tallerses propres paq uets

P eutou non utiliser les libs présentes dans le sy stème P ermetde fix eret de res taurerl"en vironnementlogiciel nécéssaire à un projet

Habituellement, 1 vir tualenvpar projet

P asbesoin sauv egarderle v envou de le v ersionner,jus teconser verles requirementsqui contiennent la liste des dépendances à installer4.2. Framework Web généraliste offrant 9

Tuto-Django, Version 1.0.3

Attention :On ne déplace jamais un venv sinon il ne fonctionnera plus! L"interface administration de django est une application au même titre que celle que vous êtes en train de créer 4.5.2

Cr éationvirtualenv -p python3 myenv

ou plus rarement avec les librairies déjà installées sur votre système :virtualenv --system-site-packages -p python3 myenv

4.5.3

A ctivationvir tualenvsource myenv/bin/activate

4.5.4

A vecconda

Si vous avez installé python avec anaconda, l"outil conda sera installé et on crée l"équivalent du

venv avec :conda create -n myenv python=3.7 python 4.5.5 A ctiverun en vironnementconda conda activate myenv 4.5.6

Inst allationde Django

Dans tous les cas on installe Django avec pip :pip install django

10 Chapitre 4. Tables des matières :

Tuto-Django, Version 1.0.3

4.6

V ersionnagedes r equirements

4.6.1 Initialiser le v ersionnagea vecgit e tpr emierscommits

Vérifiez que vous avez déjà fait les réglages de base de git (user, email, editeur) :git config --list

Vous devriez avoir user.name, user.email et core.editor de configurés. Sinon :git config --global user.name"Alice Torvalds"

git config --global user.email "alice@linux.org"

git config --global core.editor emacsIndication :Vous pouvez choisir un autre éditeur qu"emacs : atom, vscode, vim, etc.Pour choisir vscode :

editor = code --wait 4.6.2 .gitignor e On se place à la racine du projet , on y ajoute un fichier .gitignore contenant :__pycache__ local_settings.py Le fichier.gitignorecontient les fichiers ou dossiers qui doiventéchapper au versionnage. Ici nous indiquons que tous les dossiers__pycache__doivent être ignorés ainsi que le fichierlo- cal_settings.pyqui pourra contenir des informations sensibles (comme des logins et passwd de

BD qui n"ont pas à être versionnés).

4.6.3

Puis on initie un dépôt git git init

git add .Attention :On ne versionne pas le virtualenv (ou conda) Python. Il est propre à chaque environnement et on ne le change pas d"emplacement une fois qu"il est créé! On peut extraire les dépendances de notre projet (pour l"instant essentiellement une version spécifique de django) avec la sous-commandefreezede pip :4.6. Versionnage des requirements 11

Tuto-Django, Version 1.0.3

4.6.4 r equirements pip freeze > requirements.txt

On stocke ces dépendances dans le fichierrequirements.txtqu"il est bon de versionner :git add requirements.txt

git commit -m "ajout requirements.txt au projet" 4.7

Cr éationdu proje tde base

4.7.1

La commande django-admin

Permet de créer un projet, une application ou d"inspecter un projet existant (base de données ,etc)django-admin startproject GestionTaches Puis consultons l"arborescence du projet créé :tree GestionTaches qui donne :GestionTaches/ |-- GestionTaches | |-- __init__.py | |-- __pycache__ | |-- settings.py | |-- urls.py |`-- wsgi.py |-- db.sqlite3 |-- manage.py 4.7.2 sous-commandes de django-admin

Sans arguments, donne les sous-commandes disponibles :Type'django-admin help 'for help on a specific␣

˓→subcommand.

Available subcommands:

(suite sur la page suivante)12 Chapitre 4. Tables des matières :

Tuto-Django, Version 1.0.3

(suite de la page précédente) [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver Note that only Django core commands are listed as settings are ˓→not properly configured (error: Requested setting INSTALLED_APPS,␣ ˓→but settings are not configured. You must either define the␣ ˓→environment variable DJANGO_SETTINGS_MODULE or call settings.

˓→configure() before accessing settings.).Danger :Attention, django-admin et manage.py ne sont pas strictement identiques même

si ils sont très semblables. django-admin se charge des tâches administratives et manage.py

est créé dans chaque projet que vous réalisez et assure certaines tâches automatiquement.4.7. Création du projet de base 13

Tuto-Django, Version 1.0.3

4.7.3

Lancement du ser veur

./manage.py runserver 4.7.4

T estdu ser veur

Localhost:8000

(http ://localhos t:8000) 4.7.5

Modif .gitignor e

La base de données n"a pas normalement vocation à être versionnée. On va donc l"ajouter au

.gitignore et commiter.echo db.sqlite3 >> .gitignore git commit -am "ajout fichier db au .gitignore" 4.7.6 Cr éationd"une app lesT achesdans le proje tdjango-admin startapp lesTaches Puis observons l"arborescence obtenue :tree GestionTaches qui donne :GestionTaches/ |-- GestionTaches | |-- __init__.py | |-- __pycache__ | |-- settings.py | |-- urls.py |`-- wsgi.py |-- db.sqlite3 |-- manage.py |-- lesTaches | |-- __init__.py | |-- admin.py | |-- apps.py | |-- migrations | |`-- __init__.py | |-- models.py | |-- tests.py |`-- views.py14 Chapitre 4. Tables des matières :

Tuto-Django, Version 1.0.3

Commitons

4.8

Configur ation

Editez le fichiersettings.pypour y configurer

l"inter nationalisation le f ormatde Date par déf aut et a jouterl"application lesT achesaux applications ins tallées En particulier modifier ou ajouter les lignes suivantes si besoin :LANGUAGE_CODE ='fr-fr'

TIME_ZONE ='Europe/Paris'

USE_I18N =

True

USE_L10N =

True

USE_TZ =

True

DATE_INPUT_FORMATS = ('%d/%m/%Y','%Y-%m-%d')

Puis ajouter notre nouvelle app aux applications chargées par défaut :INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'lesTaches', ]4.8. Configuration 15

Tuto-Django, Version 1.0.3

4.9 les URLs e tles V ues Pour faire fonctionner notre application, nous avons besoin de configurer au moins uneroute (URL) qui va déclencher un comportement. Les routes se configurent dans les fichiersurls.py, tout d"abord celui de l"app principale, puis dans les fichiersurls.pydes autres apps. 4.9.1

Les fichier sur ls.py

Editons tout d"abord le fichier principalGestionTaches/urls.pyet ajoutons la ligne suivante dans urlpatterns :path('lesTaches/',include('lesTaches.urls')) Vous aurez un petitimportà ajouter :fromdjango.urls import path, include Anciennenment, on utilisait la fonction url :url(r'^lesTaches/',include('lesTaches.urls'))

qui est dépréciée et remplacée pardjango.urls.path(). La fonctiondjango.urls.re_path()sert

pour la gestion d"urls plus complexes à l"aide d"expressions régulières. 4.9.2

Fichier ur ls.pydans l" ApplesT aches

Créons ensuite dans le répertoireGestionTaches/lesTachesle fichierurls.pyde notre applica- tion :fromdjango.urls import path from import views urlpatterns=[ path('home',views.home,name='home'), 4.10

Les vie ws

Les Views ou Vues correspondent en gros aux " contrôleurs » dans une application MVC, c"est

à dire qu"elles vont faire généralement le lien entre le modèle et les templates d"affichage en

jouant le rôle de " chef d"orchestre » ou d"aiguillage. Dans le répertoireGestionTaches/lesTachesil va falloir ajouter dans le fichierviews.pyla fonc- tionhome()suivante :16 Chapitre 4. Tables des matières :

Tuto-Django, Version 1.0.3

from django.http import

HttpResponse

def home(request): return

HttpResponse( 'bonjour à tous')

Relancer le serveur (si vous l"avez stoppé) et dans le navigateur, pointez sur l"URL : local- host:8000 (http ://localhos t:8000) . Le message "Bonjour à tous" devrait apparaître ... Compliquons légèrement les choses pour pouvoir router des urls du type http:// localhost:8000/ lesTaches/home/toto

Modifions tout d"abord le fichierurls.pydelesTachesde la façon suivante :path('home/',views.home,name='home'),

Ceci signifie que les urls du type

http:// localhost:8000/lesTaches/home/toto seront routées v ers notre vue.

Modifiez maintenant la fonction home() avec le profil suivant (à vous de la compléter) :fromdjango.http import HttpResponse

def home(request,name): return

HtppResponse(...)

du coup les urls du type localhos t:8000/lesTaches/home/toto (http ://localhos t:8000/les- Taches/home/toto) seront aussi routées vers notre vue. Testez différentes urls en modifiant le paramètre fourni à path.

Comment faire en sorte que l"URL

localhos t:8000/lesTaches/home/ (http ://localhos t:8000/les-

Taches/home/) soit également routée?

Réponse pour la view :fromdjango.http import HttpResponse def home(request, name): return

HttpResponse(

Bonjour depuis Django

+ name) 4.11

Le modele de "lesT aches»: class T ask

Une tâche sera définie par :

un nom une descr iption une date de création la date à laq uellela tac hede vraêtre ter minée(due_date)

la date à laq uellev ousaimer iezv ousmettre à tra vaillersur cette tac he(sc hedule_date)4.11. Le modele de "lesTaches» : class Task 17

Tuto-Django, Version 1.0.3

un booleen closed q uiindiq uesi la tâc hees tter minéeou pas

Pour cela, dans le répertoire de votre application lesTaches, complétez le fichiermodels.pydans

lequel vous définirez la classe Task héritant de la classemodels.Modelde django.dbfromdjango.db import models

class Task (models.Model): name = models.CharField(max_length=250) description = models.TextField() created_date = models.DateField(auto_now_add= True closed = models.BooleanField(default=false) def __str__(self): return self.name # classe à compléter

4.11.1

prise en com ptedu modèle : migr ations Utilisons la commande manage.py pour prendre en compte ce nouveau modèle et observons au passage le SQL correspondant :python manage.py makemigrations lesTaches python manage.py sqlmigrate lesTaches 0001 python manage.py migrate

4.11.2

shell de django Pour aller dans le shell de django :python manage.py shell Et effectuez-y les commandes suivantes :>>>fromlesTaches.models import Task # importer la class Task >>>Task.objects.all()# lister la liste des taches créées pour l"instant il n"y a aucune tache enregistrée ... Créons à présent une tâche :>>>tache=Task() >>>tache.name='une premiere tache' >>>tache.description='la première mais pas la derniere' (suite sur la page suivante)18 Chapitre 4. Tables des matières :

Tuto-Django, Version 1.0.3

(suite de la page précédente) >>># on enregistre >>>tache.save() Vérifions qu"elle est bien enregistrée :>>>tache=Task.objects.all()[0]

Puis :

V érifiezq ueles c hampsq uev ousa vezrenseignés sont bien présents. Créez une tac hesupplémentaire et tes tezd"autres filtres q ueall():filter,exclude,get, order_by, etc. Ces filtres cor respondentà des req uêtesSQL automatiq uementgénérées par l"ORM de

Django.

Par exempleTask.objects.all()génère :select* from Task ; génère la requête :select* from Task WHERE created_date <= '2022-01-01'; 4.12

Utilisation de l"int erfaced"administr ationIndication :L"interface administration de django est une application au même titre que celle

que vous êtes en train de créerCréons d"abord un compte d"administrateur avec un mot de passe qui nous permettra de rentrer

dans le mode administrateur. Pour cela utilisons la commande :python manage.py createsuperuser Il v oussera demandé un nom de login une adresse electroniq ueet un mot de passe q u"il faudra confirmer. v érifiezq uedjango.contrib.adminest présent dans la partieINSTALLED_APPSdeset- tings.pyet vérifier que la lignefromdjango.contrib import admin est présente dansGestionTaches/urls.pyet queurlpatternscontient bien :urlpatterns = [ path('admin', adim.site.urls) (suite sur la page suivante)4.12. Utilisation de l"interface d"administration 19

Tuto-Django, Version 1.0.3

(suite de la page précédente)

Vous pouvez maintenant avec l"URL

localhos t:8000/admin (http ://localhos t:8000/admin) ac-

céder à l"administration de la base de données.Avertissement :Prennez garde, que la suppression de la base de données entrainera la

suppression du compte admin créé.

4.12.1

Ajout du modèle de t âchesà l"admin

Pour ajouter le modele Task à l"administration il faut modifier le fichieradmin.pyde l"applica- tion de la manière suivante :fromdjango.contrib import adminquotesdbs_dbs33.pdfusesText_39
[PDF] epi scene de crime

[PDF] epi enquête policière

[PDF] enquête policière svt 3ème

[PDF] epi police scientifique

[PDF] le médecin malgré lui acte 1 scène 5 analyse

[PDF] ponctuation anglaise

[PDF] ponctuation en anglais espace

[PDF] mes apprentissages en français 5 guide

[PDF] mes apprentissages en français 6 guide

[PDF] dimensions canette 33cl

[PDF] canette sleek

[PDF] dimension canette 15 cl

[PDF] fiche technique canette 33cl

[PDF] symbole diamètre

[PDF] comité de lantibiogramme 2016