Momentan zeige ich ausgewählte Daten in einer Datenbank mit einer HTML-Tabelle an.Verwendung von SQLFORM.grid & request.args
default.py:
def show():
post = db.games(request.args(0))
reviewRows = db(db.reviews.game_id == request.args(0)).select()
return locals()
show.html
{{extend 'layout.html'}}
<h2>{{=post.title}}</h2>
<i>Desc: {{=post.description}}</i>
<h2>Reviews:</h2>
<table class="table">
<tr>
<th>Review title</th>
<th>Review</th>
</tr>
{{for row in reviewRows:}}
<tr>
<td>{{=row.title}}</td>
<td>{{=row.review}}</td>
</tr>
{{pass}}
</table>
Aber ich möchte eine SQL.grid verwenden, so dass ich & die Tabelle suchen sortieren.
Ich habe
versuchtreviewRows = SQLFORM.grid(db.reviews.game_id == request.args(0)).select()
Aber das verbindet mich nur zurück auf die Index-Seite. Ich nehme an, weil es das Argument nicht richtig nimmt?
default.py:
def index():
gridHome = SQLFORM.grid(db.games, editable=False, create=False, csv=False, deletable=False, details=False, links = [lambda row: A('View Post',_href=URL("default","show",args=[row.id])), lambda row: A('Review',_href=URL("default","review",args=[row.id]))])
return locals()
Sie erwähnen etwas über die Verbindung zurück zur Indexseite und haben dies mit web2py getaggt. Können Sie Ihre Routing-Funktion teilen? Entschuldigungen - Ich habe web2py nicht verwendet, aber ich sehe nicht, wo dies Weiterleitungen durchführen würde. –
Ich habe meinen gesamten Code zur Frage hinzugefügt. Es ist nicht gemeint, mich zurück zu der Indexseite zu verknüpfen, die Idee ist, dass wenn ich auf "Produkt anzeigen" klicke, eine Seite geladen wird, die ein SQL.grid enthält, das Rezensionen für das ausgewählte Produkt anzeigt. Im Moment verwende ich eine einfache HTML-Tabelle, die gut funktioniert. – Gareth