如何向模板添加传递模型特定的URL.比方说,我想构建一个编辑链接.我猜,使用uri_for()函数将是一个简单的方法.
但以下给出了"UndefinedError:'webapp2'未定义"
{% webapp2.uri_for("editGreeting", greeting.key().id()) %}
Run Code Online (Sandbox Code Playgroud)
或者我应该在MainPage-Request-Handler中准备这些?如果是这样,我不知道如何将它们添加到每个问候语中.
以下代码示例取自:http: //webapp-improved.appspot.com/tutorials/gettingstarted/templates.html
控制器/处理器
class MainPage(webapp2.RequestHandler):
def get(self):
guestbook_name=self.request.get('guestbook_name')
greetings_query = Greeting.all().ancestor(
guestbook_key(guestbook_name)).order('-date')
greetings = greetings_query.fetch(10)
if users.get_current_user():
url = users.create_logout_url(self.request.uri)
url_linktext = 'Logout'
else:
url = users.create_login_url(self.request.uri)
url_linktext = 'Login'
template_values = {
'greetings': greetings,
'url': url,
'url_linktext': url_linktext,
}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))
Run Code Online (Sandbox Code Playgroud)
模板/视图:
<html>
<body>
{% for greeting in greetings %}
{% if greeting.author %}
<b>{{ greeting.author.nickname }}</b> wrote:
{% else %}
An anonymous person wrote:
{% …Run Code Online (Sandbox Code Playgroud)