没错,所以我已经为这个问题烦恼了一段时间了。这对我的应用程序来说并不是绝对重要,但它使一切看起来更好。
我正在将 Flask 应用程序转换为 Django(以适应我的其他相关 Django Web 应用程序)。
一切都进展顺利,我几乎拥有原始应用程序的所有功能(当它使用大部分相同的代码时相当容易)。
发生的事情是我的 Jquery 从 Django/Flask View 请求 ID,并根据该 View 的输出返回结果。这绝对没问题。
不起作用的是我在 Jquery 文件中写入的“捕获”(例如,如果输入了无效 ID)。
flask 返回
No service assigned to that ID|
如我所愿,Django返回的位置
No service assigned to that ID
|
(注意:没有管道“|”,实际上返回,这只是为了显示返回值后光标所在的位置)
这似乎是一个很小的差异,但它目前正在破坏我的代码,我看不到另一种方法来修复它。
如您所见,Django 输出的值带有额外的一行。 这是我正在使用的代码示例(两者几乎相同)
python:(Flask 和 Django)
error = "No service assigned to that ID"
JQuery
(AJAX stuff above here. returned value is 'reply')
if((reply) == 'No service assigned to that ID') {
$('#spinner').empty().append("No service assigned to that ID");
}
else {....}
最佳答案
您可以在 Python 中使用 string.strip()
或在 Javascript 中使用 string.trim()
来删除任何前导和尾随空格,包括换行符。
# Will remove leading/trailing whitespace from any response
return HttpResponse(template.render(contextelements).strip())
或
// Will compare with the trimmed result (tough `reply` is not changed)
if(reply.trim() == 'No service assigned to that ID') {
您应该使用哪一个取决于您是想从所有响应中删除空格还是只是从比较中删除空格。
关于python - Django 在变量末尾添加新行,而 Flask 没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443605/