Créer une plateforme de partage de photos personnalisée : guide d'application photo de Webman
Résumé :
Avec les progrès de la technologie et la popularité des smartphones, la demande des gens pour prendre des photos et partager des photos continue de croître. Cet article explique comment utiliser Webman pour créer une plateforme de partage de photos personnalisée. Webman est un framework Web basé sur le langage Python, offrant des fonctions riches et des interfaces API faciles à utiliser. Grâce au guide de cet article, vous apprendrez à utiliser Webman pour créer une plateforme de partage de photos avec des fonctions personnalisées, et ajouterez quelques exemples de code pratiques.
Installer Webman
Tout d'abord, nous devons installer Webman. L'installation de Webman est très simple, il suffit d'utiliser la commande pip pour l'installer avec une seule ligne :
pip install webman
Créer un projet
Après avoir installé Webman, nous pouvons utiliser l'outil de ligne de commande de Webman pour créer un nouveau projet :
webman create myphotoapp
Ceci Créez un nouveau répertoire de projet appelé myphotoapp et créez une structure de projet de base.
Définir le modèle de base de données
Créez un fichier nommé models.py dans le répertoire myphotoapp. Dans ce fichier, nous définirons les modèles de base de données pour Photos et Utilisateurs :
from webman import db class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) password = db.Column(db.String(80), nullable=False) class Photo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(80), nullable=False) filename = db.Column(db.String(80), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship('User', backref=db.backref('photos', lazy=True))
Dans cet exemple, nous avons créé deux classes de modèles : Utilisateur et Photo. Le modèle Utilisateur est utilisé pour stocker les informations utilisateur et le modèle Photo est utilisé pour stocker les informations sur les photos. Nous utilisons db.Column pour définir les champs dans le modèle et db.relationship pour définir les relations entre les modèles.
Créer des itinéraires et des vues
Créez un fichier nommé vues.py dans le répertoire myphotoapp. Dans ce fichier, nous allons définir les itinéraires et les fonctions d'affichage pour l'application photos :
from webman import app, db from webman.auth import login_required from webman.shortcuts import render_template, redirect, url_for from .models import User, Photo @app.route('/') @login_required def index(): user = User.query.get(session['user_id']) photos = Photo.query.filter_by(user_id=user.id).all() return render_template('index.html', user=user, photos=photos) @app.route('/upload', methods=['GET', 'POST']) @login_required def upload(): if request.method == 'POST': file = request.files['file'] filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) photo = Photo(title=request.form['title'], filename=filename, user_id=session['user_id']) db.session.add(photo) db.session.commit() return redirect(url_for('index')) return render_template('upload.html')
Dans cet exemple, nous avons défini deux itinéraires : '/' et '/upload'. La route « / » est utilisée pour afficher la liste de photos de l'utilisateur, et la route « télécharger » est utilisée pour gérer la demande de téléchargement de photos de l'utilisateur. Nous utilisons le décorateur @login_required pour garantir que l'utilisateur est connecté lors de l'accès à ces itinéraires.
Créer des modèles
Créez un dossier nommé modèles dans le répertoire myphotoapp et créez-y deux fichiers de modèles HTML : index.html et upload.html.
index.html est utilisé pour afficher la liste des photos :
{% extends 'base.html' %} {% block content %} <h1>Welcome, {{ user.username }}</h1> <h2>Your Photos</h2> <ul> {% for photo in photos %} <li>{{ photo.title }}</li> {% endfor %} </ul> <a href="{{ url_for('upload') }}">Upload a Photo</a> {% endblock %}
upload.html est utilisé pour afficher le formulaire de téléchargement de photos :
{% extends 'base.html' %} {% block content %} <h1>Upload a Photo</h1> <form action="{{ url_for('upload') }}" method="POST" enctype="multipart/form-data"> <input type="file" name="file" required> <input type="text" name="title" placeholder="Title" required> <input type="submit" value="Upload"> </form> {% endblock %}
Exécutez l'application
Après avoir terminé les étapes ci-dessus, nous pouvons utiliser l'outil de ligne de commande de Webman pour exécuter l'application :
webman run
Cela démarrera un serveur local et écoutera sur http://localhost:5000. Ouvrez cette adresse dans votre navigateur et vous pourrez voir la plateforme de partage de photos que nous avons créée.
Conclusion :
Grâce au guide de cet article, vous avez appris à utiliser Webman pour créer une plateforme de partage de photos personnalisée. Nous avons réalisé une application de base de partage de photos en définissant le modèle de base de données, en créant des itinéraires et des vues et en créant des modèles. Vous pouvez étendre davantage cette application en fonction de vos propres besoins, comme l'ajout d'un enregistrement d'utilisateur, de fonctions de commentaires, etc. J'espère que cet article vous aidera à créer une plateforme de partage de photos personnalisée !
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!