Skip to content
Newer
Older
100644 63 lines (35 sloc) 3.31 KB
270f474 edit
slieo2 authored Feb 20, 2008
1 ---
2 layout: default
3 title: web.py 0.2 tutorial
4 ---
5
6 # web.py 0.2 tutorial
7
8 ## Installation
c83af4e @phmongeau corrig\u00e9 une faute, il manquait un 'r' \u00e0 fournit
phmongeau authored Aug 17, 2009
9 Vous connaissez Python et vous voulez construire un site web. Web.py fournit le code pour faire cela d'une manière simple.
270f474 edit
slieo2 authored Feb 20, 2008
10
243146e Juste quelques petites erreurs de frappe.
Ephedrax authored Mar 13, 2008
11 Si vous voulez faire l’ensemble de ce tutoriel vous devrez installer Python, web.py, flup, psycopg2 et Postgres (ou une autre base de données avec son driver pour Python, par exemple : MySQL et mysqldb). Pour plus de détails voir le site de [webpy.org](http://webpy.org/).
270f474 edit
slieo2 authored Feb 20, 2008
12
13 Si vous avez un projet web.py existant, regardez la page de [upgrade](http://webpy.infogami.com/upgrade_to_point2) pour plus d’informations sur la migration vers la nouvelle version.
14
15
16
17 ## Gestion des URLs
18 La partie la plus importante pour chaque site web est la structure des URLs. Les URLs ne sont pas seulement ce que les visiteurs regarde et partage avec d’autres amis, mais ils sont aussi un modèle mental qui indique comment un Site Web fonctionne. (Dans les sites populaires comme [del.icio.us](http://del.icio.us/), les URLs font partie de l’interface de l’utilisateur). Pour cela Web.py facilite la création et la gestion des URL.
19
20 Pour commencer l’application web.py , Créez un nouveau fichier et appelez le code.py par exemple et écrivez ceci dedans:
21
22 import web
23
24 Ceci importera le module web.py.
25
26 Maintenant on implémente la structure de nos URLs, on commence par quelque chose de simple, ajoutez cela :
27
28 urls = (
29 '/', 'index' )
30
31
32 La première partie est l’[expression régulière](http://osteele.com/tools/rework/) qui représente un chemin. Par exemple : ‘/’, ‘/aide/faq’, ‘/article/(\d+)’, etc. Le \d+ représente une séquence de chiffres. Les parenthèses (..) servent à capturer les éléments retournés pour plus tard. La deuxième partie est le nom d’une classe à laquelle envoyer la requête, comme view, welcomes.hello (qui utilise la classe hello du module welcomes), ou bien get_\1. \1 est remplacé par la première capture de l’expression régulière. Toutes captures restantes seront passées à la fonction.
33
243146e Juste quelques petites erreurs de frappe.
Ephedrax authored Mar 13, 2008
34 La ligne ('/', 'index') dis qu’on a besoin de l’URL ‘/’ (i.e la page d’accueil) qui sera prit en charge par la classe nommé ‘index’.
270f474 edit
slieo2 authored Feb 20, 2008
35
36 Maintenant on écrit le code de la classe index:
37
38 class index:
39 def GET(self):
243146e Juste quelques petites erreurs de frappe.
Ephedrax authored Mar 13, 2008
40 print " Bonjour, monde !"
270f474 edit
slieo2 authored Feb 20, 2008
41
42 Comme vous avez pu le deviner, `GET` est appelé par web.py lorsque quelqu’un appelle la méthode HTTP GET sur votre URL ‘/’ (c’est-à-dire quand ils la visitent avec un navigateur web). La dernière ligne renvoie le texte brut “Bonjour, monde !” au visiteur.
43
44 Tous est bon maintenant, on aura besoin que de finir en ajoutant la ligne qui démarre l’application web
45
46 if __name__ == "__main__": web.run(urls, globals())
47
48 Ceci dit à web.py de lancer votre application avec `urls` en regardant toutes les classes présentes dans le fichier.
49
50 Pour lancer le serveur web faisant tourner votre application tapez dans une invite de commande:
51
52 $ python code.py
53 Launching server: http://0.0.0.0:8080/
54
55 Maintenant si vous visitez http://0.0.0.0:8080/ avec un navigateur web, vous devriez voir apparaître “Bonjour, monde !”.
56
57 **Note:** vous pouvez spécifier le port en le passant comme paramètre
58
59 $ python code.py 1234
60
61 Puis visiter la page : http://0.0.0.0:1234/
62
63 (La suite à accomplir...)
Something went wrong with that request. Please try again.