-1
class TablePage(BaseHandler):

    def get(self):
        ID_id = self.request.get('ID')
        key = db.Key.from_path("PQ", ID_id)
        p = PQ.get(key)
        qs = db.Query(QA)
        qs.ancestor(p)
        result = qs.get()

        template_values = {'qs': qs,
                        'p': p
            }
        self.render_template('table.html',  template_values )

クエリされたレコードを html テーブルに入れようとしているため、この質問をしています。私の template_values は正しくて適切ですか、それとも変数 "result" の値を template_values に含める必要がありますか?

jinja2 テンプレートで使用したのと同じ種類の "for" ループを Python コードで使用して、qs に QA の 2 つのインスタンスがあることを示すこの追加のデバッグ コードを追加しましたが、エラーは解決しません。

for q in qs:
            answers = q.answers
            logging.info("answers %s" % answers )



INFO     2012-07-05 09:23:03,853 views.py:84] answers [0L, 0L, 0L]
INFO     2012-07-05 09:23:03,853 views.py:84] answers [0L, 0L, 0L] 

これを試していますが、jinja2 テンプレートが情報を正しく取得していないようです。たとえば、「UndefinedError: 'q' is undefined」というエラーを生成する次のテンプレート コードがあります。

<tbody>
{% for q in qs %}
    <tr>
    <td> {{ q.seqnum }} </td>
    <td> {{ q.question }} </td>
        {% for answer in q.answers %}
        <td> {{ answer }} </td>
        {% endfor %}
    <td> {{ q.answers|sum() }} </td>
{% endfor %}
<td>{{ q.date }}</td>
<td>{{ q.modified }}</td>
</tr>
</tbody>
4

1 に答える 1

0

HTML テンプレートの {% endfor %} は時期尚早でした。すべての q.xxx 値の後にある必要があります。ドー

他人の時間を無駄にしてごめんなさい。

于 2012-07-05T11:08:48.873 に答える