Aperçu:
Pile de technologie principale:
Préparation environnementale:
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, et le back-end reçoit l'image et l'enregistre dans le répertoire des téléchargements locaux, puis enregistre le titre et le nom de fichier dans la base de données.
@app.route('/upload', methods=['POST'])
def upload():
file = request.files.get("image")
if file:
img = Image.open(file)
img.save("uploads/" + file.filename)
image = Image(title=request.form.get("title"), filename=file.filename)
db.session.add(image)
db.session.commit()
return "Upload successful!"
else:
return "Upload failed!"
Ensuite, nous devons implémenter la fonction de l'affichage de l'image. Les utilisateurs peuvent afficher toutes les images enregistrées dans le système via le chemin d'accès / images et afficher leurs détails en cliquant sur 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)
Enfin, nous avons implémenté 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 redirect('/images')
Pour fournir une meilleure expérience utilisateur, ajoutez le code HTML et CSS approprié à la page frontale et utilisez le moteur de modèle Jinja2 pour rendre le contenu dynamique.
<!-- images.html -->
{% for image in images %}
<div>
<a href="{{ url_for('image_detail', image_id=image.id) }}">View details</a>
<a href="{{ url_for('delete_image', image_id=image.id) }}">Delete</a>
</div>
{% endfor %}
<!-- image_detail.html -->
<h1>{{ image.title }}</h1>
Grâce à l'exemple de code ci-dessus, nous pouvons apprendre à utiliser Python pour écrire la fonction de gestion d'image du système CMS. Bien sûr, cet article ne fournit qu'un exemple simple, et un système CMS réel peut nécessiter plus de fonctionnalités et de logique complexe. J'espère que les lecteurs pourront s'en inspirer et apporter plus de possibilités à leurs projets. Dans le même temps, nous devons également étudier et pratiquer en profondeur pour améliorer encore nos capacités et notre niveau technique dans le domaine du développement Web.