- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 bottlepy,我遇到了这样的事情:
..code..
comments = [(u'34782439', 78438845, 6, u'hello im nick'),
(u'34754554', 7843545, 5, u'hello im john'),
(u'332432434', 785345545, 3, u'hello im phil')]
return comments
在 View 中我已经这样做了:
%for address date user text in comments:
<h3>{{address}}</h3>
<h3>{{date}}</h3>
<h3>{{user}}</h3>
<h3>{{text}}</h3>
%end
当我启动服务器时,错误是:
Error 500: Internal Server Error
Sorry, the requested URL http://localhost:8080/hello caused an error:
Unsupported response type: <type 'tuple'>
如何将它渲染到 View 中?
(对不起我的英语)
最佳答案
您的代码有两个问题。首先,响应不能是元组列表。它可以是字符串或字符串列表,正如 Peter 所建议的那样,或者,如果您想使用 View ,它可以(并且应该)是 View 变量的字典。键是变量名称(这些名称,例如 comments
,将在 View 中可用),值是任意对象。
因此,您的处理函数可以重写为:
@route('/')
@view('index')
def index():
# code
comments = [
(u'34782439', 78438845, 6, u'hello im nick'),
(u'34754554', 7843545, 5, u'hello im john'),
(u'332432434', 785345545, 3, u'hello im phil')]
return { "comments": comments }
注意 @view
和 @route
装饰器。
现在,您的 View 代码出现问题:元组解包中的逗号丢失。因此,您的 View (在我的例子中名为 index.html
)应该如下所示:
%for address, date, user, text in comments:
<h3>{{address}}</h3>
<h3>{{date}}</h3>
<h3>{{user}}</h3>
<h3>{{text}}</h3>
%end
关于python - 如何在 bottlepy 中渲染元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8184805/
如果在过去的模板中选中它,我正在尝试设置一个复选框。换句话说,如果用户选中复选框并单击提交按钮,他应该能够看到他选中了哪些选项。我的代码是这样的: if request.GET.get('submit
我一直在使用 bottlepy,我遇到了这样的事情: ..code.. comments = [(u'34782439', 78438845, 6, u'hello im nick'), (u'347
我知道这是一个简单的问题,但我在这里有奇怪的行为。 %for key in tags_photo: % try: {{ k
我正在尝试获取正在调用使用 Bottle 微框架构建的 API 的用户代理。当使用浏览器直接调用 API 时,它会显示用户代理是什么。然而,当它从另一个编写的应用程序调用时,例如在 PHP 或 JAV
我真的很害怕那个 read() 操作,因为它使用内存。例如,任何人都可以通过上传 1gb 的文件对我的服务器进行 DDoS 攻击,对吗? name = request.forms.get('name'
我对 Bottlepy 很陌生,从 hello world 开始,但无法让它工作。 这是代码。 from bottle import route, run @route('/hello') def h
我正在像这样使用 CherryPy 提供 BottlePy 应用程序: import cherrypy from myapp import MyApp from beaker.middleware i
我在我的网站上运行 Google Page Speed,它是在 Google App Engine 上的 Python/Bottle 中。 它说:'以下可缓存资源的新鲜度很短。为以下资源指定至少一周后
我在 BottlePy 中有以下钩子(Hook): @bottle_app.hook('before_request') def update_session(): # do stuff
我正在尝试使用从 Initializr 下载的样板文件与 Bottle.py 一起。我显然做错了什么,因为当我只是尝试加载 index.html 时,网站在不使用任何样式表的情况下呈现,并且我在浏览器
好的,所以我在使用 NLTK 包的 Bottle 中制作了这个应用程序。它在我安装了所有必需库的计算机上运行良好,但是,我无法在 Google 的 App Engine 上运行它。它给出了这些错误:
我正在应用程序启动前创建一个连接实例 # app.py mongodb_conn = pymongo.Connection(host=host, port=int(port), safe=True)
我有以下网络应用: import bottle app = bottle.Bottle() @app.route('/ping') def ping(): print 'pong' r
我正在使用 Bootle Python Web Framework 在 Ubuntu 上开发网络应用程序。是否有任何有效的方法来守护启动默认 bottlepy 网络服务器的脚本? 谢谢。 UPD:现在
我需要一个尽可能快的 Python 网络服务器。我找到了 BottlePy,并将默认服务器更改为 Gevent,以便更快。但现在,当我尝试将图像发送到 Azure Blob 时,我收到此错误: Typ
我有一段非常简单的代码,我试图将两个数字相加。我对 python 缺乏经验,所以遇到了一些麻烦。我使用 python 的 Bottle 框架。 from bottle import get, post
我正在开发一个模板,该模板将包含在一个更大的模板中,由于某种原因,该模板不接受 Javascript 中的任何参数。 如果从 html 访问参数,一切都很好。这是一个例子: test.tpl: fro
这是一个模板,它采用数据库表的行和单独字段中的字段。我对此很陌生。 %for row in rows: %for col in row:
我正在尝试使用 BottlePy 返回一个 html 模板。这很好用。但是如果我在我的 tpl 文件中插入这样的 javascript 文件: 我收到 404 错误。(无法加载资源:服务器响应状态为
我是一名优秀的程序员,十分优秀!