Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python编写网站_Python - Fatal编程技术网

用Python编写网站

用Python编写网站,python,Python,我相当精通PHP,但想尝试一些新的东西 我还懂一点Python,足以做一些基础的工作,但还没有在web设计类型的情况下使用过 我刚刚写了这篇文章,它很有效: #!/usr/bin/python def main(): print "Content-type: text/html" print print "<html><head>" print "<title>Hello World from Python</title

我相当精通PHP,但想尝试一些新的东西

我还懂一点Python,足以做一些基础的工作,但还没有在web设计类型的情况下使用过

我刚刚写了这篇文章,它很有效:

#!/usr/bin/python

def main():
    print "Content-type: text/html"
    print
    print "<html><head>"
    print "<title>Hello World from Python</title>"
    print "</head><body>"
    print "Hello World!"
    print "</body></html>"

if __name__ == "__main__":
    main()
#/usr/bin/python
def main():
打印“内容类型:文本/html”
打印
打印“”
打印“来自Python的Hello World”
打印“”
打印“你好,世界!”
打印“”
如果名称=“\uuuuu main\uuuuuuuu”:
main()

问题是,这看起来相当麻烦。如果不使用django这样的大型工具,那么编写能够处理get和post的脚本的最佳方法是什么?

就完整框架而言,我认为django相对较小

如果你真的想要轻量级的,尽管,看看,然后

我想观众最喜欢的是塔架,但我是Django人,所以我不能说太多


有关轻量级Python框架的更多信息,请查看。

Python中提供了几种web框架,它们将使您从大部分工作中解脱出来

  • (以及基于它的新型涡轮齿轮)
  • (以及基于它的旧涡轮齿轮)
  • 我觉得Django不像你说的那么“大”;然而,我认为塔架和樱桃糖可能是更好的回答你的问题。樱桃似乎更简单,。但似乎也有点“过时”,而塔架正在积极开发中。

    对于Pylons,还有一个有趣的、在线可用的功能。

    我真的很喜欢django,在我看来它并不是很大。它非常强大,但不是很大


    如果您想开始使用http和python,最简单的就是标准库中提供的BaseHttpServer。详细信息请参见

    我同意Paolo的观点-Django的规模非常小,还有一条路要走-但如果您不同意,我会将其添加到列表中

    如果您正在寻找框架,请查看以下列表:

    若您需要小脚本(-s)或一次性作业脚本,那个么简单的CGI模块本身就足够了


    如果您想创建比静态页面和简单表单更多的东西,我建议您坚持使用一些框架。我相信Django是最受欢迎和支持的。看看你的例子,你的问题是关于基本CGI脚本的,但似乎每个人都选择用“使用我最喜欢的框架”来回答。让我们尝试另一种方法

    如果您正在寻找一个直接替代您上面所写内容(即CGI脚本),那么您可能正在寻找该模块。它是Python标准库的一部分。和中提供了免费功能。您可能还对和感兴趣,这也是标准库的一部分

    进入更有趣的领域,让您了解界面的基本知识,这时您可能想开始考虑更“框架化”(这是一个词吗?)的东西,如web.py、Django、Pylons、CherryPy等,正如其他人所提到的。

    什么是“巨大”是一个品味问题,但Django是一个“完整的”框架,这包括从ORM到模板,再到各种各样的东西。所以它并不小(尽管比Grok和Zope3,其他全栈python web框架小)

    但是也有很多非常小和极简的web框架,它们只为web部件提供一个框架。上面提到了许多。在列表中,我必须添加BFG和Bobo。这两种方法都非常简单,但仍然有用且灵活


    在Python中,生成网站的方法是使用框架。大多数流行的(以及积极维护/支持的)框架已经提到

    一般来说,我不认为Djano或Turbogears是“巨大的”,我认为它们是“完整的”。每一个都可以让你建立一个数据库支持的动态网站。对其中一个的偏好更多的是关于样式,而不是关于特征

    另一方面,你确实觉得自己很“大”。就开箱即用的特性而言,Zope也是“企业”级。一件非常好的事情是,您可以使用ZODB(Zope对象数据库),而不必使用Zope的其余部分


    如果我们知道你对开发什么样的网站感兴趣,肯定会有帮助,因为这可能有助于缩小建议的范围

    在web2py中,前面的代码是

    在控制器
    default.py
    中:

    def main():
        return dict(message="Hello World")
    
    在视图
    default/main.html
    中:

    <html><head>
    <title>Hello World from Python</title>
    </head><body>
    {{=message}}
    </body></html>
    
    
    你好,来自Python的世界
    {{=message}
    

    没有其他,没有安装,没有配置,您可以通过管理界面直接在web上编辑上面的两个文件。web2py基于wsgi,但如果没有mod_wsgi,它也可以与cgi、mod_python、mod_proxy和fastcgi一起使用。

    我本来打算添加TurboGears,但我觉得它即使不比Django大也一样大。我如何检查这样的东西?Python一开始看起来很麻烦的原因是PHP是围绕创建网页而构建的,它是自己的模板语言,它有一个用于请求处理、参数解析、cookie等的内置框架。另一方面,Python是一种通用语言,直接实现低级的web内容会让你们很快发疯。试图用“这是个坏主意”来回答你们的问题也许Django没有我当时想的那么大——我认为它相当于Rails或CakePHP。见鬼,我在一些非web应用程序中包括Django只是为了它的DB或模板支持。这个答案是正确的,肯定会让你探索用Python编写CGI。但是,学习Pythonic方法来解决这个特殊问题并没有帮助。这个问题的Pythonic方法可以在您得到的关于各种web框架的所有答案中找到,这些框架都是可用的,并且都处于积极的开发和支持之中。是的,但我想先了解一下在较低级别上是如何工作的。在这种情况下,忘掉CGI,把它看作WSGI。它也需要大约十分钟