坏块标记I = 0,在Django

我所经历的AppEngine上的Python的入门指南,而读了模板,我修改了代码(这是一个简单的留言板),包括简单的编号旁边留言簿条目。

在index.html的我加入了(我以为会)相关的代码。

的index.html(我在第3行中加入{%I = 0%},{%I + = 1%}在第5行,和{{I}}在第7行,剩下的就是从导向):

<html> <body> {%i=0%} {% for greeting in greetings %} {%i+=1%} {% if greeting.author %} <b>{{i}}:{{ greeting.author.nickname }}</b> wrote: {% else %} An anonymous person wrote: {% endif %} <blockquote>{{ greeting.content|escape }}</blockquote> {% endfor %} <form action="/sign" method="post"> <div><textarea name="content" rows="3" cols="60"></textarea></div> <div><input type="submit" value="Sign Guestbook"></div> </form> <a href="{{ url }}">{{ url_linktext }}</a> </body> </html>

我得到了以下错误

TemplateSyntaxError:无效的块标签:'I = 0'

我读了Django的模板的帮助下,它说,

Django模板系统提供的标签而功能类似于一些编程结构 - 一个if标签的布尔测试中,对标签循环等 - 但这些都不是简单地作为执行相应的Python代码和模板系统不会执行任意Python表达式。

所以我想,在执行计算不是模板系统是什么。

TL;博士

谁能告诉我如何编号我的项目,或者使用“反-增量”建设使用Django的模板?

我不知道的事情这个代码是必要的,但要完成图片,

不变helloworld.py代码:

import os from google.appengine.ext.webapp import template import cgi from google.appengine.api import users from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.ext import db class Greeting(db.Model): author = db.UserProperty() content = db.StringProperty(multiline=True) date = db.DateTimeProperty(auto_now_add=True) class MainPage(webapp.RequestHandler): def get(self): greetings_query = Greeting.all().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)) class Guestbook(webapp.RequestHandler): def post(self): greeting = Greeting() if users.get_current_user(): greeting.author = users.get_current_user() greeting.content = self.request.get('content') greeting.put() self.redirect('/') application = webapp.WSGIApplication( [('/', MainPage), ('/sign', Guestbook)], debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main()

--------------解决方案-------------

这取决于你需要它。 http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for:如果您需要实际的数量,你可以在模板中使用for循环

然后你可以使用forloop.counterforloop.counter0来检查索引。

如果你只是想显示的号码列表,你可以使用HTML有序列表。

Django的模板引擎的设计而已,而你想保持计算出来的。 如果你需要做一些与你的数据在模板层,你可以写一个自定义标签/过滤器。

从http://www.djangobook.com/en/beta/chapter04/

{% for item in todo_list %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}

分类:蟒蛇 时间:2015-03-15 人气:1
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.784 (s). 10 q(s)