|
|||||||
1. Introduction
2. Installation 3. Le serveur Web 4. Options de configuration 5. Travailler avec Apache, LightTPD ou Xitami 6. Programmation 7. Debogage 8. Scripts Python 9. Services Karrigell 9.1 Syntax 9.2 urls intelligentes 10. Python Inside HTML 11. HTML Inside Python 12. HTMLTags - génère du HTML en Python 13. Inclure des documents 14. Sessions 15. Authentification 16. Traduction et Unicode |
9. Services Karrigell9.1 SyntaxLes "services Karrigell" sont des scripts Python qui peuvent gérer en même temps plusieurs URL, ce qui permet de développer un service complet (plusieurs pages HTML distinctes) en un seul script Pour cela, les fonctions d'un service Karrigell sont associées à une URL : la
fonction Pour appeler Si aucune fonction n'est spécifiée, Karrigell cherche une fonction appelée
Notez que pour des raisons de sécurité et de lisibilité, seules les fonctions explicitement définies dans le script ks et dont la définition commence à la 1ère colonne du code source peuvent être appelées Si vous avez besoin de fonctions internes au script mais que vous ne voulez pas qu'on puisse les appeler par une url, faites-les commencer par un signe souligné (_) Pour "sauter" d'une fonction à l'autre, il suffit de spécifier le nom de la fonction dans un lien ou une action de formulaire :
Remarquez la première ligne de la fonction Tout l'environnement HTTP, les champs de formulaires, les exceptions spécifiques, les fonctions pour l'authentification, la gestion de sessions, etc. sont les mêmes que pour les scripts Python Voici un exemple de Service Karrigell simple :
9.2 urls intelligentesDans certains cas il peut être utile d'accéder à des fonctions de services Karrigell avec des urls qui précisent des paramètres additionnels. Par exemple, l'urlhtpp://path/service.ks/fonction/foo/bar?nom=martin appelerait la fonction
avec 'foo' et 'bar' comme paramètres
On peut les récupérer dans le script par un attribut de
Un problème avec ces "url intelligentes" est que s'il faut écrire un lien,
ou utiliser Ce nombre est calculé d'après la longueur de l'attribut
THIS appelé up :
|