python -m venv myenv
sur la ligne de commandeEnsuite, nous devons implémenter la fonction du téléchargement d'image. L'utilisateur sélectionne et télécharge l'image sur la page frontale. Après avoir reçu l'image, le back-end l'enregistre dans le répertoire des téléchargements locaux et enregistre le titre et le nom de fichier dans la base de données.
@ app.Route ('/ upload', méthodes = ['post']) def upload (): file = request.files.get ("image") Si le fichier: img = image.open (fichier) img.save ("uploads /" + file.filename) image = image (title = request.form.get ("title"), filename = file.filename) DB.Session.add (image) DB.Session.Commit () Renvoyez "Télécharger réussi!" autre: Renvoie "le téléchargement a échoué!"
Ensuite, implémentez la fonction d'affichage d'image. Les utilisateurs peuvent afficher toutes les images enregistrées via le chemin d'accès / images et peuvent cliquer pour afficher les détails d'une seule image.
@ app.Route ('/ images') def images (): images = image.query.all () return render_template ('images.html', images = images) @ app.Route ('/ image /<int:image_id> ') def image_detail (image_id): image = image.query.get (image_id) return render_template ('image_detail.html', image = image)
Ensuite, implémentez la fonction de la suppression d'image. Les utilisateurs peuvent supprimer l'image spécifiée en cliquant sur le bouton "Supprimer" sur la page.
@ app.Route ('/ delete /<int:image_id> ') def delete_image (image_id): image = image.query.get (image_id) DB.Session.delete (image) DB.Session.Commit () return redirirect ('/ images')
Pour fournir une meilleure expérience utilisateur, les pages frontaux peuvent ajouter un code HTML et CSS approprié pour rendre le contenu dynamique à l'aide du moteur de modèle Jinja2.
<!-- images.html --> {% pour l'image en images%} <div> <a href="{{ url_for('image_detail', image_id=image.id) }}">Afficher les détails</a> <a href="{{ url_for('delete_image', image_id=image.id) }}">Supprimer</a> </div> {% end pour%}
<!-- image_detail.html --> <h1>{{image.title}}</h1>
Grâce à l'exemple de code ci-dessus, nous pouvons voir comment utiliser Python pour écrire la fonction de gestion d'image du système CMS. Bien qu'il s'agisse d'un exemple simple, il montre l'utilisation de base du framework Flask, des outils de base de données SQLALCHEMY et de la bibliothèque de traitement d'image PIL. Dans le développement réel, le système CMS peut nécessiter plus de fonctions et une logique complexe, et les développeurs peuvent se développer et optimiser sur cette base.