5

以下は、私が持っている単純なデータベースモデルです:

class Notes(db.Model):
  text = db.StringProperty(multiline=True)
  date = db.DateTimeProperty(auto_now_add=True)

URLハンドラーで、次のようにすべてのメモをテンプレートに送信します。

class MainPage(webapp2.RequestHandler):
  def get(self):
    notes = Notes.all()
    self.render_template("index.html", {'notes':notes})

jinja2テンプレート エンジンを使用しているテンプレートidでは、次のように、編集リンクを埋め込むことができるように、各メモを印刷する必要があります。

{% for note in notes %}
<p>  
 {{ note.text }} <br>
 {{ note.date }} <br>
 (<a href ="edit/{{note.key.id}}">edit </a>)
{% endfor %}

しかし、問題は、何も印刷されていないことです。ここnote.key.id のドキュメントのように、クラスはデータベースエンティティの一意のキーを表し、これには数値であるメソッドがあります。メモのコレクションからの単一のメモの場合、メモのが必要です。 keyidid

django テンプレート エンジンを使用すると、値{{ notes.key.id }}が出力されますが、jinja2表示されません。

これどうやってするの?

4

1 に答える 1

11

href行を次のように置き換えます。

(<a href ="edit/{{note.key().id()}}">edit </a>)

これで十分です。

于 2012-04-26T20:48:02.390 に答える