我尝试使用Python在Google App Engine中运行这个函数:
def textarea(id):
variable = brfsscodegenerator.Variable.get_by_id(int(id))
varID = variable.key().id()
textarea = ("<tr><td>" + variable.name + "</td><td>" + variable.year +
"</td><td><textarea id='textarea' name='qtext_" + str(varID) + "'>" )
return textarea
但我得到了一个错误(我使用的是CherryPy):
TypeError:强制为Unicode:需要字符串或缓冲区,已找到long
我已经测试了varID是否实际返回了一个数字,但它似乎仍然不想转换,而且我知道我的引号也是正确的。任何帮助都将不胜感激。在
当您尝试将一个字符串与一个字符串连接时,Python不会自动将数字格式化为字符串。作为一个明确的指导原则,“这比一个明确的设计原则更好”。您可以使用
str(num)
转换数字,但更好的方法是始终使用字符串格式,如下所示:更好的方法是使用模板系统,而不是自己插入字符串。这样做会引入XSS错误的风险很高,而且代码的可读性也会降低很多。在
确保
variable.year
是一个字符串,或者也转换它。在相关问题 更多 >
编程相关推荐