• Devops AWS
  • Git Tutorial
  • Hadoop Tutorial
  • Apache Spark
  • Docker
  • Amazon RDS
  • Blockchain
  • BIG-DATA
  • AWS-Architect
  • COVID-19
  • Proxy List
  • AWS-Certified
  • Cloud-Computing
  • AWS certifications
AWS Certified Solutions Architect - Professional
  • Home
    • Home – Layout 1
    • Home – Layout 2
    • Home – Layout 3
    • Home – Layout 4
    • Home – Layout 5
    • Home – Layout 6
  • News
    • All
    • Business
    • Politics
    • Science
    • World
    Load data into AWS Redshift from AWS S3

    Load data into AWS Redshift from AWS S3

    probable Oracle Net admin error

    DIA-28546: connection initialization failed, probable Net8 admin error

    The data on the coronavirus pandemic is updated daily.

    Covid-19

    The data on the coronavirus pandemic is updated daily.

    Covid-19 update

    AWS Certified Cloud Practitioner

    AWS Certified Cloud Practitioner

    Database Fundamentals for AWS

    Database Fundamentals for AWS

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Tech
    • All
    • Apps
    • Gadget
    • Mobile
    • Startup
    sellers.json

    sellers.json

    A Performance Dashboard for Apache Spark

    A Performance Dashboard for Apache Spark

    Step-by-Step Tutorial for Apache Spark Installation

    Apache Spark 3.0 Memory Monitoring Improvements

    Getting started with Amazon S3 and Python

    Getting started with Amazon S3 and Python

    Implementing an SSAS Tabular Model for Data Analytics

    Implementing an SSAS Tabular Model for Data Analytics

    Configure ODBC drivers for MySQL

    Configure ODBC drivers for MySQL

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
  • Entertainment
    • All
    • Gaming
    • Movie
    • Music
    • Sports
    free A proxy server

    Fresh Proxy Lists update 2020-06-28

    DIA-28073: The column "string" has an unsupported data type or

    ORA-16627: operation disallowed since no member would remain to support

    Fresh Proxy Lists update

    The Legend of Zelda: Breath of the Wild gameplay on the Nintendo Switch

    macOS Sierra review: Mac users get a modest update this year

    Hands on: Samsung Galaxy A5 2017 review

    Heroes of the Storm Global Championship 2017 starts tomorrow, here’s what you need to know

  • Lifestyle
    • All
    • Fashion
    • Food
    • Health
    • Travel
    covid-19 update

    Fresh Proxy Lists update 2020-06-18

    ORA-39866: Data files for Pluggable Database string must be offline to

    ORA-16693: requirements not met for enabling fast-start failover

    The data on the coronavirus pandemic is updated daily.

    Covid-19

    The data on the coronavirus pandemic is updated daily.

    Covid-19 update

    AWS Certified Cloud Practitioner

    AWS Certified Cloud Practitioner

    Covid-19 -update

    Covid-19 -update-2020-06-16

    Trending Tags

    • Golden Globes
    • Game of Thrones
    • MotoGP 2017
    • eSports
    • Fashion Week
  • Review
    covid-19 update

    Fresh Proxy Lists update 2020-06-18

    AWS Cloud Practitioner

    AWS Cloud Practitioner course

    AWS Cloud Practitioner Essentials

    AWS Cloud Practitioner Essentials

    Machine Learning Tutorial

    Machine Learning Tutorial

    Cloud AWS – Amazon Web Services

    Cloud AWS – Amazon Web Services

    AWS Amazon

    formation AWS Amazon

No Result
View All Result
  • Home
    • Home – Layout 1
    • Home – Layout 2
    • Home – Layout 3
    • Home – Layout 4
    • Home – Layout 5
    • Home – Layout 6
  • News
    • All
    • Business
    • Politics
    • Science
    • World
    Load data into AWS Redshift from AWS S3

    Load data into AWS Redshift from AWS S3

    probable Oracle Net admin error

    DIA-28546: connection initialization failed, probable Net8 admin error

    The data on the coronavirus pandemic is updated daily.

    Covid-19

    The data on the coronavirus pandemic is updated daily.

    Covid-19 update

    AWS Certified Cloud Practitioner

    AWS Certified Cloud Practitioner

    Database Fundamentals for AWS

    Database Fundamentals for AWS

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Tech
    • All
    • Apps
    • Gadget
    • Mobile
    • Startup
    sellers.json

    sellers.json

    A Performance Dashboard for Apache Spark

    A Performance Dashboard for Apache Spark

    Step-by-Step Tutorial for Apache Spark Installation

    Apache Spark 3.0 Memory Monitoring Improvements

    Getting started with Amazon S3 and Python

    Getting started with Amazon S3 and Python

    Implementing an SSAS Tabular Model for Data Analytics

    Implementing an SSAS Tabular Model for Data Analytics

    Configure ODBC drivers for MySQL

    Configure ODBC drivers for MySQL

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
  • Entertainment
    • All
    • Gaming
    • Movie
    • Music
    • Sports
    free A proxy server

    Fresh Proxy Lists update 2020-06-28

    DIA-28073: The column "string" has an unsupported data type or

    ORA-16627: operation disallowed since no member would remain to support

    Fresh Proxy Lists update

    The Legend of Zelda: Breath of the Wild gameplay on the Nintendo Switch

    macOS Sierra review: Mac users get a modest update this year

    Hands on: Samsung Galaxy A5 2017 review

    Heroes of the Storm Global Championship 2017 starts tomorrow, here’s what you need to know

  • Lifestyle
    • All
    • Fashion
    • Food
    • Health
    • Travel
    covid-19 update

    Fresh Proxy Lists update 2020-06-18

    ORA-39866: Data files for Pluggable Database string must be offline to

    ORA-16693: requirements not met for enabling fast-start failover

    The data on the coronavirus pandemic is updated daily.

    Covid-19

    The data on the coronavirus pandemic is updated daily.

    Covid-19 update

    AWS Certified Cloud Practitioner

    AWS Certified Cloud Practitioner

    Covid-19 -update

    Covid-19 -update-2020-06-16

    Trending Tags

    • Golden Globes
    • Game of Thrones
    • MotoGP 2017
    • eSports
    • Fashion Week
  • Review
    covid-19 update

    Fresh Proxy Lists update 2020-06-18

    AWS Cloud Practitioner

    AWS Cloud Practitioner course

    AWS Cloud Practitioner Essentials

    AWS Cloud Practitioner Essentials

    Machine Learning Tutorial

    Machine Learning Tutorial

    Cloud AWS – Amazon Web Services

    Cloud AWS – Amazon Web Services

    AWS Amazon

    formation AWS Amazon

No Result
View All Result
AWS Certified Solutions Architect - Professional
No Result
View All Result
Home aws-senior

Qu’est ce que Django?

aws-senior by aws-senior
10 August 2020
in aws-senior
0
Django

Django

0
SHARES
5
VIEWS
Share on FacebookShare on TwitterShare on Linjedin

Qu’est ce que Django?

Django est un framework Python de haut niveau, permettant un développement rapide de sites internet, sécurisés, et maintenables. Créé par des développeurs experimentés, Django prend en charge la plupart des tracas du développement web, vous pouvez donc vous concentrer sur l’écriture de votre application sans avoir besoin de réinventer la roue. Il est gratuit, open source, a une communauté active, une bonne documentation, et plusieurs options pour du support gratuit ou non. 

Django vous aide à écrire une application qui est: Complète Django suit la philosophie “Piles incluses” et fournit presque tout ce que les développeurs pourraient vouloir faire. Comme tout ce dont vous avez besoin est une partie de ce “produit”, tout fonctionne parfaitement ensemble, suivant des principes de conception cohérents, il possède également une documentation complète et à jour. Polyvalent Django peut être (et a été) utilisé pour créer presque tous les genres de sites — du gestionnaire de données aux wikis, jusqu’aux réseaux sociaux et aux sites d’actualités. Il peut fonctionner avec n’importe quelle infrastructure côté client, et peut renvoyer des données dans quasiment n’importe quel format (notamment HTML, RSS, JSON, XML, etc). Le site sur lequel vous lisez en ce moment est basé sur Django!

Tandis qu’il fournit presque toutes les fonctionnalités dont vous pourriez avoir besoin (comme des base de données populaires, des moteurs de modélisation, etc.), il peut tout de même être étendu pour utiliser d’autres composants si besoin. Sécurisé Django aide les développeurs à éviter les erreurs de sécurité classique en fournissant une infrastructure conçue pour “faire ce qu’il faut” pour protéger les sites internet automatiquement. Par exemple, Django fournit un moyen sécurisé pour gérer les comptes des utilisateurs ainsi que leurs mots de passe, évitant les erreurs classiques comme mettre des informations sur la session dans des cookies, où elles sont vulnérables (à la place les cookies contiennent seulement une clé, et les données sont stockées dans la base de données), ou directement stocker des mots de passe, au lieu de mot de passe hachés.

Un mot de passé haché est une valeur dont la longueur est fixée, créée en envoyant le mot de passe à travers une fonction de hachage cryptographique. Django peut vérifier si un mot de passe entré est correct en l’envoyant dans la fonction de hachage et en comparant le retour avec la valeur stockée dans la base de données. De ce fait, la nature unidirectionnelle de la fonction rend difficile pour un attaquant de retrouver le mot de passe d’origine, même si la valeur hachée est compromise.

Django active par défaut la protection contre beaucoup de vulnérabilités, comme les injections SQL, le cross-site scripting, le cross-site request forgery et le clickjacking (voir Website security pour plus de détails sur ce genre d’attaques). Scalable Django utilise une architecture composite “shared-nothing” (chaque composant de l’architecture est indépendant des autres, et peut ainsi être remplacé ou changé si besoin). En ayant des séparations nettes entres les différentes parties, Django peut se scaler lors d’une hausse de trafic en ajoutant du hardware à tous les niveaux : serveurs cache, serveurs de base de données, serveurs d’application. Certains des sites les plus fréquentés ont réussi à scaler Django pour répondre à leur demande (par exemple, Instagram et Disqus pour ne nommer qu’eux deux). Maintenable Les principes de design du code Django encouragent la création d’un code simple à maintenir et réutilisable. Il fait notamment appel à la philosophie du Ne Vous Répétez Pas (DRY pour Don’t Repeat Yourself en anglais), afin d’éviter toute duplication superflue, réduisant la taille de votre code. Django promeut aussi le regroupement de fonctionnalités reliées entre elles en “applications” réutilisables et, à un plus bas niveau, regroupe des lignes de code dépendantes entre elles en modules (suivant les lignes du motif d’architecture Modèle-vue-contrôleur (MVC)). Portable Django est écrit en Python, qui fonctionne sous diverses plateformes. Cela veut dire que vous ne serez plus contraint par une plateforme en particulier, et vous pourrez faire fonctionner vos applications sous autant de versions de Linux, Windows et Mac OS X que vous le souhaitez. De plus, Django est très bien supporté par plusieurs fournisseurs d’hébergement web, qui offrent souvent des infrastructures et de la documentation spécifiques pour héberger des sites Django.

D’où vient-il ?

À l’origine, Django fut développé entre 2003 et 2005 par une équipe web responsable de la création et de la maintenance de sites journalistiques. Après avoir créé un certain nombre de sites, l’équipe commença à exclure et à réutiliser des codes récurrents et des schémas d’architecture. Ce code récurrent finit par évoluer en un framework générique de développement web, qui fut mis à disposition en open-source sous le projet “Django” en Juillet 2005.

Django a continué à se développer et à s’améliorer, depuis sa première sortie (1.0) en Septembre 2008 jusqu’à la version 2.0 récemment sortie (2017). Chaque sortie a ajouté son lot de nouvelles fonctionnalités et de corrections de bugs, allant du support de nouveaux types de bases de données, de moteurs de templates et de cache, à l’addition de fonctions et de classes de vues ‘génériques’ (qui réduisent la quantité de code que doivent écrire les développeurs pour tout un tas de tâches de programmation). 

Note : Consultez les notes de publication sur le site web de Django pour voir les changements apportés dans les versions récentes, ainsi que tout le travail accompli pour améliorer Django.

Désormais, Django est un projet open-source collaboratif florissant, avec plusieurs milliers d’utilisateurs et de contributeurs. Bien que plusieurs fonctionnalités reflètent encore ses origines, Django a évolué en un framework versatile capable de développer n’importe quel type de site web. 

À quel point Django est-il populaire ?

Il n’y a pas encore de mesure toute prête et définitive de la popularité des frameworks orientés serveur (bien que des sites comme Hot Frameworks tentent d’estimer cette popularité en utilisant des moyens comme le comptage de projets GitHub et de questions sur StackOverflow pour chaque plateforme). Une meilleure question serait plutôt est-ce que Django est “suffisamment populaire” pour éviter les problèmes des plateformes moins populaires. Va-t-il continuer d’évoluer ? Pourrez-vous obtenir de l’aide si vous en avez besoin ? Aurez-vous des opportunités d’emploi si vous apprenez Django ? 

Si l’on se base sur la quantité de sites web reconnus qui utilisent Django, la quantité de personnes contribuant à son code source, et la quantité de personnes fournissant du support libre ou payant, alors oui, Django est un framework populaire !

Parmi les sites web qui utilisent Django, on retrouve : Disqus, Instagram, la Knight Foundation, la MacArthur Foundation, Mozilla, National Geographic, l’Open Knowledge Foundation, Pinterest et Open Stack (source : Page d’accueil de Django).

Django est-il restrictif ?

Les frameworks web sont souvent qualifiés de “restrictifs” ou de “non-restrictifs”.

Les frameworks restrictifs sont ceux vous donnant une “bonne façon” de réaliser une tâche particulière. Ils sous-tendent souvent un développement rapide dans un domaine particulier (résoudre des problèmes d’un type particulier), car cette bonne façon de faire est souvent bien comprise et bien documentée. Cependant, ils peuvent être moins flexibles dans leurs capacités à résoudre des problèmes en dehors de leur domaine, et offrent souvent moins de choix sur les composants et approches utilisables.

En contraste, les frameworks non-restrictifs ont moins de restrictions sur la meilleure façon d’assembler des composants ensemble pour achever un but, voire même sur quels composants utiliser. Ils simplifient la tâche des développeurs en leur permettant d’utiliser les outils les mieux adaptés à la réalisation d’une tâche particulière, au coût toutefois du besoin du développeur de trouver ces composants.

Django est “plus ou moins restrictif”, et offre ainsi le “meilleur de chaque approche”. Il fournit un ensemble de composants pour gérer la plupart des tâches de développement web ainsi qu’une (ou deux) approches préférées sur leur utilisation. Toutefois, l’architecture découplée de Django implique que vous pouvez généralement choisir parmi un certain nombre d’options différentes, ou bien fournir un support pour des approches complètement nouvelles si vous le désirez.

À quoi ressemble le code Django ?

Dans un site web traditionnel orienté-données, une application web attend une requête HTTP d’un navigateur web (ou tout autre client). Quand une requête est reçue, l’application en comprend les besoins d’après l’URL et parfois d’après les informations en POST data ou GET data. En fonction de ce qui est attendu, elle peut ensuite lire ou écrire l’information dans une base de données ou réaliser une autre tâche requise pour satisfaire la requête. L’application renvoie ensuite une réponse au navigateur web, créant souvent en dynamique une page HTML affichée dans le navigateur où les données récupérées sont insérées dans les balises d’un modèle HTML.

Les applications web Django regroupent généralement le code qui gère chacune de ces étapes dans des fichiers séparés :

  • URLs :  Bien qu’il soit possible de traiter les requêtes de chaque URL via une fonction unique, il est bien plus viable d’écrire une fonction de vue isolée qui gèrera chaque ressource. Un mapper URL est utilisé pour rediriger les requêtes HTTP à la vue appropriée d’après l’URL de requête. Le mapper URL peut aussi faire la correspondance entre des patterns de chaînes de caractères ou de nombres qui apparaissent dans une URL et passer ces derniers comme données dans une fonction de vue.
  • Vues : Une vue est une fonction de gestion des requêtes, qui reçoit des requêtes HTTP et renvoie des réponses HTTP. Les vues accèdent aux données requises pour satisfaire des requêtes via des modèles, et délèguent le formatage des réponses aux templates.
  • Modèles : Les modèles sont des objets Python, qui définissent la structure des données d’une application, et fournissent des mécanismes de gestion (ajout, modification, suppression) et requêtent les enregistrements d’une base de données. 
  • Templates: Un template est un fichier texte qui définit la structure ou la mise en page d’un fichier (comme une page HTML), avec des balises utilisées pour représenter le contenu. Une vue peut créer une page HTML en dynamique en utilisant un template HTML, en la peuplant avec les données d’un modèle. Un template peut-être utilisé pour définir la structure de n’importe quel type de fichier; il n’est pas obligatoire que ce dernier soit un HTML !

Note: Django mentionne cette organisation sous le nom d’architecture “Modèle Vue Template”. Elle a plusieurs similarités avec l’architecture Modèle Vue Contrôleur.

Les sections ci-dessous vous donneront une idée de ce à quoi ressemble ces différentes parties d’une application Django (nous verrons plus de détails plus tard dans le jeu, une fois que nous aurons configuré l’environnement de développement).

Envoyer la requête à la bonne vue (urls.py)

Le mapper URL est généralement stocké dans un fichier nommé urls.py. Dans l’exemple ci-dessous, le mapper (urlpatterns) définit une liste de mappings entre des routes (des patterns d’URL spécifiques) et leur fonction de vue correspondante. Si une requête HTTP est reçue dont l’URL correspond à un pattern spécifié, la fonction vue associée sera alors appelée et passée dans la requête.

urlpatterns = [
    path('admin/', admin.site.urls),
    path('book/<int:id>/', views.book-detail, name='book-detail'),
    path('catalog/', include('catalog.urls')),
    re_path(r'^([0-9]+)/$', views.best),
]

L’objet urlpatterns est une liste de fonctions path() et/ou re_path()(les listes en Python sont définies en utilisant des crochets), où des éléments sont séparés par des virgules et peuvent avoir une virgule de traîne optionnelle. Par exemple : [item1, item2, item3,]).

Le premier argument de chaque méthode est une route (pattern) qui sera reconnu.
La méthode path() utilise des chevrons pour définir les parties de l’URL qui seront capturées et passées dans les fonctions vues comme arguments nommés. La fonction re_path() utilise une approche de correspondance de pattern flexible, connue sous le nom d’expression régulière. Nous parlerons de ces dernières dans un prochain article !

Le second argument est une autre fonction qui sera appelée quand le pattern sera reconnu. La notation views.book-detail indique que la fonction s’appelle book-detail() , et qu’elle se trouve dans un module appelé views (i.e. dans un fichier intitulé views.py)

Traiter la requête (views.py)

Les vues sont le coeur des applications web. Elles reçoivent des requêtes HTTP de clients web et renvoient des réponses HTTP. Entretemps, elles mobilisent les autres ressources du framework pour accéder aux bases de données, préparer le rendu des templates, etc.

L’exemple ci-dessous montre une fonction vue minimale index(), qui pourrait être appelée par notre mapper URL de la section précédente. Comme toutes les fonctions vues, elle reçoit un objet  HttpRequest comme paramètre (request) et renvoie un objet HttpResponse. Dans notre cas on ne fait rien de spécial avec la requête; et notre réponse ne renvoie qu’une chaîne de caractères brute. Nous vons montrerons une requête plus intéressante dans une autre section.

## nom du fichier : view.py (fonction vue Django)

from django.http import HttpResponse

def index(request):
    # Reçoit une HttpRequest - le paramètre request
    # réalise des opérations en utilisant les informations de la requête
    # Renvoie HttpResponse
    return HttpResponse('Hello from Django!')

Share this:

  • Facebook
  • LinkedIn
  • Twitter
aws-senior

aws-senior

http://www.aws-senior.com/

Aws-Senior.com

Aws-Senior.com
ADVERTISEMENT
  • Trending
  • Comments
  • Latest
Use our free ssl american proxy server update-update-2020-06-09

Fresh Proxy Lists update 2020-06-15

15 June 2020
HTTP Socks4 and Socks5 proxy lists-update

Fresh Proxy Lists update 2020-07-10

14 July 2020
Install the AWS CLI on Windows

Install the AWS CLI on Windows

16 March 2019
How To Import A Schema on Amazon RDS

How To Import A Schema on Amazon RDS

5 April 2019
probable Oracle Net admin error

ORA-16795: the standby database needs to be re-created

2

Overview of Amazon Web Services

1

Senior Account Manager – Middle East Public Sector

1
aws-senior.com

AWS Certified Solutions Architect – Niveau Professionnel

1
sellers.json

sellers.json

10 September 2020
Step-by-Step Tutorial for Apache Spark Installation

Apache Spark Deployment

3 September 2020
Apache Spark Installation

Step-by-Step Tutorial for Apache Spark Installation

3 September 2020
PySpark et le traitement des Big Data

Apache Spark

2 September 2020

Recent News

sellers.json

sellers.json

10 September 2020
Step-by-Step Tutorial for Apache Spark Installation

Apache Spark Deployment

3 September 2020
Apache Spark Installation

Step-by-Step Tutorial for Apache Spark Installation

3 September 2020
PySpark et le traitement des Big Data

Apache Spark

2 September 2020
AWS Certified Solutions Architect – Professional

aws-senior.com . Find user guides, developer guides, API references, tutorials, and more. Guides and API References. Compute. Amazon EC2 · AWS Batch

Follow Us

Facebook Twitter Instagram Behance Google+ Dribbble

Browse by Category

  • Apps (21)
  • aws-senior (277)
  • Business (21)
  • Entertainment (2)
  • Fashion (18)
  • Food (13)
  • Gadget (25)
  • Gaming (14)
  • Health (18)
  • Lifestyle (10)
  • Mobile (21)
  • Movie (9)
  • Music (12)
  • News (16)
  • Politics (20)
  • Review (14)
  • Science (16)
  • Sports (14)
  • Startup (23)
  • Tech (21)
  • Travel (20)
  • World (16)

Recent News

sellers.json

sellers.json

10 September 2020
Step-by-Step Tutorial for Apache Spark Installation

Apache Spark Deployment

3 September 2020
  • Devops AWS
  • Git Tutorial
  • Hadoop Tutorial
  • Apache Spark
  • Docker
  • Amazon RDS
  • Blockchain
  • BIG-DATA
  • AWS-Architect
  • COVID-19
  • Proxy List
  • AWS-Certified
  • Cloud-Computing
  • AWS certifications

© 2020 www.aws-senior.com - www.aws-senior.com www.aws-senior.com.

No Result
View All Result

© 2020 www.aws-senior.com - www.aws-senior.com www.aws-senior.com.