Web2py - Présentation

web2pyest défini comme un cadre Web gratuit et open source pour le développement agile qui implique des applications Web basées sur une base de données; il est écrit en Python et programmable en Python. C'est un framework full-stack; il se compose de tous les composants nécessaires, un développeur a besoin pour créer une application Web entièrement fonctionnelle.

web2py cadre suit le Model-View-Controller modèle d'exécution d'applications Web contrairement aux modèles traditionnels.

  • Modelfait partie de l'application qui inclut la logique des données. Les objets du modèle sont utilisés pour récupérer et stocker les données de la base de données.

  • Viewfait partie de l'application, qui aide à rendre l'affichage des données aux utilisateurs finaux. L'affichage des données est extrait de Model.

  • Controllerfait partie de l'application, qui gère l'interaction de l'utilisateur. Les contrôleurs peuvent lire les données d'une vue, contrôler l'entrée utilisateur et envoyer des données d'entrée au modèle spécifique.

  • web2pya une fonction intégrée pour gérer les cookies et les sessions. Après avoir validé une transaction (en termes de SQL), la session est également stockée simultanément.

  • web2pya la capacité d'exécuter les tâches à intervalles planifiés après l'achèvement de certaines actions. Ceci peut être réalisé avecCRON.

web2py - Flux de travail

Jetez un œil au diagramme de flux de travail ci-dessous.

Le diagramme de flux de travail est décrit ci-dessous.

  • le Models, Views et Controller les composants constituent l'application web2py utilisateur.

  • Plusieurs applications peuvent être hébergées dans la même instance de web2py.

  • Le navigateur envoie la requête HTTP au serveur et le serveur interagit avec Model, Controller et View pour récupérer la sortie nécessaire.

  • Les flèches représentent la communication avec le (s) moteur (s) de base de données. Les requêtes de base de données peuvent être écrites en SQL brut ou en utilisant la couche d'abstraction de base de données web2py (qui sera abordée dans d'autres chapitres), de sorte queweb2py le code d'application est indépendant de tout moteur de base de données.

  • Model établit la connexion de la base de données avec la base de données et interagit avec le Controller. leController d'autre part interagit avec le View pour rendre l'affichage des données.

  • le Dispatchermappe l'URL demandée comme donnée dans la réponse HTTP à un appel de fonction dans le contrôleur. La sortie de la fonction peut être une chaîne ou une table de hachage.

  • Les données sont rendues par le View. Si l'utilisateur demande une page HTML (par défaut), les données sont rendues dans une page HTML. Si l'utilisateur demande la même page en XML, web2py essaie de trouver une vue qui peut rendre le dictionnaire en XML.

  • Les protocoles pris en charge de web2py incluent HTML, XML, JSON, RSS, CSV et RTF.

Modèle Vue Contrôleur

le model-view-controller la représentation de web2py est la suivante -

Modèle

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))

le Modelinclut la logique des données d'application. Il se connecte à la base de données comme indiqué dans la figure ci-dessus. Considérez que SQLite est utilisé et est stocké dansstorage.sqlitefichier avec une table définie comme employé. Si la table n'existe pas, web2py aide en créant la table respective.

Manette

Le programme "default.py" est le Controller.

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

Dans web2py, Le mappage d'URL aide à accéder aux fonctions et aux modules. Pour l'exemple ci-dessus, le contrôleur contient une seule fonction (ou «action») appelée employés.

L'action entreprise par le Controller renvoie une chaîne ou un dictionnaire Python, qui est une combinaison de clé et de valeur comprenant un ensemble local de variables.

Vue

"default/contacts.html" est le View.

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

Pour l'exemple donné, View affiche la sortie après l'exécution de la fonction de contrôleur associée.

Le but de ceci Viewconsiste à rendre les variables dans le dictionnaire, qui est sous forme de HTML. leView est écrit en HTML, mais il incorpore du code Python à l'aide de {{ and }} délimiteurs.

Le code intégré dans HTML est constitué de code Python dans le dictionnaire.

Commencez avec web2py

web2py est fourni dans des packages binaires pour tous les principaux systèmes d'exploitation tels que Windows, UNIX et Mac OS X.

Il est facile d'installer web2py car -

  • Il comprend l'interpréteur Python, vous n'avez donc pas besoin de l'avoir pré-installé. Il existe également une version de code source qui fonctionne sur tous les systèmes d'exploitation.

  • Le lien suivant comprend les packages binaires de web2pyà télécharger selon les besoins de l'utilisateur - www.web2py.com

  • le web2pyframework ne nécessite aucune pré-installation contrairement aux autres frameworks. L'utilisateur doit télécharger le fichier zip et le décompresser selon les exigences du système d'exploitation.

  • le web2py framework est écrit en Python, qui est un langage dynamique complet qui ne nécessite aucune compilation ni installation compliquée pour s'exécuter.

  • Il utilise une machine virtuelle comme d'autres langages de programmation tels que Java ou .net et il peut compiler en octets de manière transparente le code source écrit par les développeurs.

Système opérateur Commander
Unix et Linux (distribution source) python web2py.py
OS X (distribution binaire) ouvrez web2py.app
Windows (distribution binaire web2py) web2py.exe
Windows (distribution source web2py) c: /Python27/python.exe web2py.py