Improve image loading by handling different storage paths

Add a custom Jinja filter `image_url` to `app.py` to correctly resolve image paths from object storage or local static files, and update all relevant templates (members, sponsors, competitions, contributors) to use this new filter instead of the `url_for('static', filename=...)` function, ensuring images are displayed correctly regardless of their storage location.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: cd9a7d26-a4e5-4215-975c-c59f4ed1f06d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: a02b1418-2e19-496d-9921-3a4afe97ac0d
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/d0a1d46d-d203-4308-bc6a-312ac7c0243b/cd9a7d26-a4e5-4215-975c-c59f4ed1f06d/05bPjFc
This commit is contained in:
abhiramtx
2025-12-13 21:43:34 +00:00
parent 7f9612493c
commit d7532b7134
6 changed files with 16 additions and 7 deletions

9
app.py
View File

@@ -32,6 +32,15 @@ def get_db_connection():
conn = psycopg2.connect(os.environ['DATABASE_URL'])
return conn
@app.template_filter('image_url')
def image_url_filter(path):
"""Convert image path to proper URL - handles both storage and local paths"""
if not path:
return url_for('static', filename='images/default.jpg')
if path.startswith('/storage/'):
return path
return url_for('static', filename=path)
def upload_file_to_storage(file, folder='uploads'):
"""
Upload file to object storage if available, otherwise fall back to local storage