Python web2py 打印到屏幕

标签 python web2py

我是编程新手(还是一名学生)。我正在自学 Python,尝试在网络服务器上运行一个程序,并决定使用 web2py,因为它适合像我这样的初学者。该程序在命令提示符下运行良好,但无法在其生成的网页上正确执行打印语句。我一直在研究 web2py 文档和教程,试图找到如何基本上打印一些东西而不返回它并关闭函数。当我运行这个时:

def main():
            url = "http://<someurl>"
            if url[len(url) - 1] == '/':
                url = url[:len(url) - 1]
            maxdepth = 3
            maxpages = 10
            index_cnt = 4
            index = crawl_web(url,maxpages,maxdepth)
            print "Printing index..."
            for i,e in enumerate(index):
                if i >= index_cnt:
                    return
                print "'{}' appears in the following urls:".format(e[0])
                for i,u in enumerate(e[1]):
                    print "    {}".format(u)
                    return "    {}".format(u)  ##only this line printed in web2py page

页面上实际上只显示最后的“返回”。我知道使用 web2py 时有一些不同的语法,但我发现的示例代码似乎都显示了 return、response.flash、response.print、使用 print str(DIV()) 和我发现的其他一些代码,但一无所获和。另外,当我“返回索引”返回“无”时——我认为它会返回稍后应该由 for 循环打印的值。

“index()”函数获取 url 列表,但支持函数相当长,但没有返回任何错误。

最佳答案

如果您希望某些内容出现在浏览器中,请不要使用 print (即输出到 Python shell)。如果您希望浏览器显示某些内容,您的函数必须返回它(您也可以引发 HTTP exception ,这最终是框架在您的函数返回响应时执行的操作)。

如果您还没有这样做,我强烈建议您阅读 the book 的前几章。更好地了解框架(以及一般的 Web 框架)的工作原理。特别是看herehere .

关于Python web2py 打印到屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13964352/

相关文章:

python - 有没有正确的方法让 web2py 使用 Python3 而不是 Python2?

python - 如何在 Web2py 中重新使用 Auth 进行注册、身份验证为 Rest Api

python - 如何让多个 web2py 应用程序使用相同的 layout.html?

python - 平移/旋转 2D 点以改变视角

Python:将函数映射到递归迭代

python - 优化Python字典访问代码

Python 3.6模块appscript安装错误

python - 如何使用 Web2py 在 html 中包含 python 窗口或框架?

python - 将 Pandas 数据框行拆分为多行

python - web2py:链接执行函数而不导航到不同的页面(回调?)