Ich experimentiere mit https://github.com/hack4impact/flask-base und versuche, ein sqlalchemy-Objekt an eine jinja2-Vorlage übergeben.Grundlegende Prozedur beim Übergeben von ORM-Objekt zu tempate
Mein Eigentumsmodell ist;
class Property(db.Model):
__tablename__ = 'properties'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(140))
body = db.Column(db.String(1400))
img = db.Column(db.String(140))
....
In meinem main/views.py ich habe:
from flask import render_template
from app import db
from app.models import Property
from . import main
@main.route('/')
def index():
props = db.session.query(Property).all()
return render_template('main/index.html')
das verstehe ich eine Variable in eine Vorlage zu übergeben Sie tun würde:
return render_template('main/index.html', pr= props)
jedoch versuchen:
>>> type(props[0])
<class 'app.models.property.Property'>
Dies scheint wie der falsche Typ o f Objekt, das übergeben werden soll. Ich würde annehmen, dass Sie etwas allgemeineres wie eine Liste von Diktaten weitergeben würden. Was ist der beste Ansatz, um eine Liste von sqlalchemy-Objekten an eine jinja2-Vorlage zu übergeben?
Warum glaubst du das? Sie können passieren, was Sie wollen. – syntonym
Was lässt Sie glauben, dass es der falsche Typ ist? – PRMoureu
Ich habe vielleicht falsch verstanden, aber es schien mir wahrscheinlicher, dass Menschen in allgemein verwendeten mehr generische Datenstrukturen (Listen, Diktate usw.) weitergegeben. Gibt es eine Best Practice für das, was in jinja2-Vorlagen weitergegeben wird? – user61629