P粉4019012662023-08-02 12:32:15
In Flask, you can dynamically generate HTML tables with different lengths based on data in a SQL database. You don't need to manually create thousands of rows and control their visibility. Instead, you can easily achieve this using the template engine integrated into Flask. Hope this helps you
Retrieve data from a SQL database: Get data from a database using Flask's database integration.
Pass data to the template: In your Flask route, pass the data retrieved from the database as variables to the HTML template.
Use templates: In HTML templates, use syntax to traverse data and dynamically generate table rows and cells.
from flask import Flask, render_template app = Flask(__name__) # Replace this with your database connection and query code to fetch data # For demonstration purposes, let's assume you have fetched data in the 'rows' variable rows = [ {'id': 1, 'name': 'John', 'age': 25}, {'id': 2, 'name': 'Jane', 'age': 30}, # Add more rows as needed ] @app.route('/') def index(): return render_template('table_template.html', rows=rows) if __name__ == '__main__': app.run(debug=True)
HTMLFILE
<!DOCTYPE html> <html> <head> <title>Dynamic Table</title> <style> /* Add border to the table */ table { border-collapse: collapse; width: 100%; border: 1px solid black; } /* Add bold font style to the header row */ th { font-weight: bold; } /* Add border to table cells (optional) */ td, th { border: 1px solid black; padding: 8px; } </style> </head> <body> <table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Age</th> </tr> </thead> <tbody> {% for row in rows %} <tr> <td>{{ row.id }}</td> <td>{{ row.name }}</td> <td>{{ row.age }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>