首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python web2py打印到屏幕

Python web2py打印到屏幕
EN

Stack Overflow用户
提问于 2012-12-20 10:21:48
回答 2查看 2.6K关注 0票数 1

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

代码语言:javascript
运行
复制
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

只有末尾的“return”才会显示在页面上。我知道在使用web2py时有一些不同的语法,但我找到的示例代码似乎都显示了一个返回值,response.flash、response.print、使用print str(DIV())和我找到的其他一些方法,但我什么也没用到。另外,当我'return index‘返回'None’时--我认为它会返回随后应该由for循环打印的值。

'index()‘函数获取一个url列表,但是支持的函数相当长,但没有返回任何错误。

EN

回答 2

Stack Overflow用户

发布于 2012-12-20 11:08:06

如果希望在浏览器中显示某些内容,请不要使用打印(即输出到Python shell)。如果您希望浏览器显示某些内容,您的函数必须对其执行return操作(您也可以引发一个HTTP exception,当您的函数返回响应时,框架最终会执行此操作)。

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

票数 1
EN

Stack Overflow用户

发布于 2013-01-03 21:38:02

不要直接在控制器中使用打印。您可以作为dictstr返回到必须使用模板语法才能打印的视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13964352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档