Maison  >  Article  >  développement back-end  >  Développement Web en Python : la pyramide en action

Développement Web en Python : la pyramide en action

王林
王林original
2023-06-10 11:34:541046parcourir

Avec l'avènement de l'ère Internet, les applications Web sont devenues une partie importante de divers domaines. Pour les programmeurs, le développement Web est également devenu l'une des compétences nécessaires. Dans le domaine du développement Web Python, il existe de nombreux frameworks parmi lesquels choisir, et le framework Pyramid, en tant que l'un des frameworks les plus matures et les plus stables, est observé et utilisé par de plus en plus de développeurs. Cet article présentera comment utiliser le framework Pyramid pour le développement Web et utilisera un exemple pour mieux comprendre ce processus.

1. Qu'est-ce que le framework Pyramid ?

Pyramid est un framework de développement Web Python léger. Son idée principale est de fournir un cadre de développement Web flexible et facilement extensible pour offrir une expérience de développement d'applications Web efficace et composable.

En tant que framework Web, Pyramid fonctionne très bien. Il intègre non seulement des composants de développement Web couramment utilisés, tels que des moteurs de modèles, des opérations de base de données, etc., mais fournit également de nombreux points d'extension et plug-ins personnalisés, qui peuvent facilement étendre divers aspects de la partie cadre. Dans le même temps, Pyramid dispose d'une architecture flexible et d'un couplage lâche, ce qui facilite la collaboration avec d'autres frameworks Python et bibliothèques tierces.

2. Utilisation de base du framework Pyramid

  1. Installation du framework Pyramid

Avant d'utiliser le framework Pyramid pour le développement Web, vous devez d'abord installer Pyramid. Vous pouvez utiliser la commande pip pour installer :

pip install Pyramid
  1. Créer un projet Pyramid

Une fois l'installation terminée, vous pouvez utiliser la commande pcreate pour créer un projet Pyramid de base :

pcreate -s starter myproject

Cette commande créera un projet nommé " monprojet" dans le répertoire actuel du projet Pyramid, où le paramètre "-s" indique le modèle spécifié à utiliser, qui fournit la configuration initiale et la structure des fichiers du framework Pyramid.

  1. Exécutez l'application Pyramid

Après avoir terminé la création du projet, vous pouvez utiliser la commande pserve pour exécuter l'application Pyramid :

pserve development.ini

où "development.ini" est le fichier de configuration de l'environnement de développement. Cette commande démarrera. l'application Pyramid et écoutez sur l'adresse IP et le port locaux par défaut. Tapez « http://localhost:8080 » dans votre navigateur pour accéder à la page d'accueil de l'application.

3. Exemple pratique de Pyramid Framework

Après avoir compris l'utilisation de base du framework Pyramid, présentons comment utiliser le framework Pyramid pour le développement d'applications Web et démontrons l'ensemble du processus à travers un exemple simple.

  1. Exemple d'analyse des exigences

Supposons que nous devions développer une application Web simple qui doit implémenter les fonctions suivantes :

  • Fournir une page d'accueil pour afficher les informations de base du site Web.
  • Fournir une page d'inscription sur laquelle les utilisateurs peuvent créer un compte.
  • Fournissez une page de connexion où les utilisateurs peuvent saisir leur numéro de compte et leur mot de passe pour se connecter.
  • Fournir une page d'informations personnelles où les utilisateurs peuvent modifier leurs informations personnelles après s'être connectés.
  • Fournir une fonction de déconnexion.
  1. Exemple d'implémentation

Tout d'abord, nous devons créer le fichier vues.py en tant que contrôleur dans le projet Pyramid et implémenter la fonctionnalité de notre application Web dans ce fichier. Parmi eux, nous pouvons utiliser divers outils et bibliothèques fournis par le framework Pyramid pour implémenter les fonctions du contrôleur, comme suit :

from pyramid.view import view_config, view_defaults

@view_defaults(renderer='templates/base.pt')
class SiteController(object):
    def __init__(self, request):
        self.request = request

    @view_config(route_name='home', renderer='templates/index.pt')
    def home(self):
        return {
            'page_title': 'Home'
        }

    @view_config(route_name='register', renderer='templates/register.pt')
    def register(self):
        return {
            'page_title': 'Register'
        }

    @view_config(route_name='login', renderer='templates/login.pt')
    def login(self):
        return {
            'page_title': 'Login'
        }

    @view_config(route_name='profile', renderer='templates/profile.pt')
    def profile(self):
        return {
            'page_title': 'Profile'
        }

    @view_config(route_name='logout')
    def logout(self):
        headers = forget(self.request)
        return HTTPFound(location=self.request.route_url('home'), headers=headers)

Dans le code ci-dessus, nous définissons la classe SiteController comme contrôleur et spécifions les fonctions et fonctions d'affichage via le @ view_config decorator Son nom de route. Dans le même temps, nous utilisons également des classes d'outils telles que HTTPFound et Forget fournies par le framework Pyramid pour implémenter certaines fonctions requises par les applications Web, comme la fonction de déconnexion, etc.

Ensuite, nous devons créer le fichier modèle pour associer les données du contrôleur à l'implémentation de la page. Dans le framework Pyramid, nous pouvons utiliser le moteur de modèles Chameleon pour le rendu des modèles. Voici un exemple de code pour le fichier modèle :

<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <div class="container">
        ${next.body()}
    </div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Home page</h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Register page</h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Login page</h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Profile page</h1>
</body>
</html>

Après avoir terminé l'écriture du fichier modèle, nous devons également définir des règles de routage dans le fichier __init__.py du projet Pyramid pour associer les fonctions d'affichage du contrôleur aux requêtes HTTP. Voici l'exemple de code :

from pyramid.config import Configurator

def main(global_config, **settings):
    config = Configurator(settings=settings)
    config.include('pyramid_chameleon')
    config.add_route('home', '/')
    config.add_route('register', '/register')
    config.add_route('login', '/login')
    config.add_route('profile', '/profile')
    config.add_route('logout', '/logout')
    config.scan()
    return config.make_wsgi_app()

Dans le code ci-dessus, nous utilisons la classe Configurator pour définir les règles de routage et spécifier le nom de la route et le chemin de l'URL via la méthode add_route(). Après avoir défini les règles de routage, nous devons utiliser la méthode config.scan() pour analyser la classe du contrôleur et associer les fonctions d'affichage qu'elle contient au routage.

Enfin, nous pouvons exécuter l'application Pyramid et accéder à différentes pages via le navigateur pour tester si la fonction du programme répond aux besoins. Vous pouvez utiliser la commande suivante pour démarrer l'application :

pserve development.ini

Jusqu'à présent, nous avons terminé le développement d'une application Web simple. Grâce au framework Pyramid, nous pouvons implémenter rapidement et efficacement une application Web avec son architecture flexible et ses extensions riches. nous permet également de personnaliser et d'étendre davantage l'application Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn