这个简单的Python应用程序中的语法无效

时间:2011-01-15 15:42:51

标签: python syntax

创建template_value变量时获取无效语法:

class MainPage(webapp.RequestHandler):
    def get(self):
        blogPosts_query = BlogPost.all().order('-postDate')
        blogPosts = blogPosts_query.fetch(10)

        if  users.get_current_user():
            url = users.create_logout_url(self.request.uri)
            url_linktext = 'Logout'
        else:
            url = url = users.create_login_url(self.request.uri)
            url_linktext = 'Login'

        template_value = (
            'blogPosts': blogPosts,
            '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))

错误会在'blogPosts': blogPosts行专门触发。

我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:5)

您正在尝试使用圆括号而不是卷曲括号创建字典 - 将其更改为:

    template_value = {
        'blogPosts': blogPosts,
        'url': url,
        'url_linktext': url_linktext,
    }

...语法再次有效。

答案 1 :(得分:0)

你的意思是使用()作为模板值吗?字典使用花括号。