So schreiben Sie mit Python die Bildverwaltungsfunktion eines CMS-Systems
Übersicht:
Mit der rasanten Entwicklung des Internets sind Content-Management-Systeme (CMS) zu einem unverzichtbaren Bestandteil der Webentwicklung geworden. Unter diesen ist die Bildverwaltungsfunktion eines der sehr wichtigen und gemeinsamen Module im CMS-System. Über die Bildverwaltungsfunktion können Sie Bildressourcen einfach hochladen, löschen, bearbeiten und auf der Website anzeigen. In diesem Artikel wird erläutert, wie Sie mit Python die Bildverwaltungsfunktion eines einfachen CMS-Systems schreiben und entsprechende Codebeispiele angeben.
Haupttechnologie-Stack:
Umgebungsvorbereitung:
python -m venv myenv
in der Befehlszeile aus, um eine virtuelle Umgebung zu erstellen. python -m venv myenv
来创建一个虚拟环境source myenv/bin/activate
(Linux/MacOS) 或者 myenvScriptsctivate
(Windows) 来激活虚拟环境pip install flask sqlalchemy pillow
来安装所需的依赖包代码示例:
首先,我们需要创建一个Flask应用,并配置数据库连接。
from flask import Flask, render_template, request from flask_sqlalchemy import SQLAlchemy from PIL import Image app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///images.db' db = SQLAlchemy(app) class Image(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(80)) filename = db.Column(db.String(80))
接下来,我们需要实现图片上传的功能。用户在前端页面选择并上传图片,后端接收到图片并保存到本地的uploads
目录中,然后将标题和文件名保存到数据库中。
@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!"
然后,我们需要实现图片展示的功能。用户可以通过访问/images
source myenv/bin/activate in der Befehlszeile < aus /code> (Linux/MacOS) oder <code>myenvScripts ctivate
(Windows), um die virtuelle Umgebung zu aktivierenAbhängigkeiten installieren: Führen Sie pip install flask sqlalchemy Pillow
in der virtuellen Umgebung aus, um zu installieren die erforderlichen Abhängigkeitspakete Codebeispiel: Zuerst müssen wir eine Flask-Anwendung erstellen und die Datenbankverbindung konfigurieren. @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)
uploads
und speichert dann den Titel und den Dateinamen in der Datenbank. 🎜@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')
/images
zugreifen und auf ein einzelnes Bild klicken, um dessen Details anzuzeigen. 🎜<!-- images.html --> {% for image in images %} <div> <img src="{{ url_for('static', filename='uploads/' + image.filename) }}" alt="{{ image.title }}"> <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> <img src="{{ url_for('static', filename='uploads/' + image.filename) }}" alt="{{ image.title }}">
Das obige ist der detaillierte Inhalt vonSo schreiben Sie mit Python die Bildverwaltungsfunktion des CMS-Systems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!