制作基于python的网页的两种方法?

2024-10-01 00:19:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想试试python来创建网页,而不是使用php。不过,我发现您需要在apache上安装mod_python或mod_wsgi,才能让它使用python。如果现在使用pure,我不确定是否应该说它是纯python代码,而不是使用django这样的web框架。我发现在mod\upython和mod\wsgi中创建一个简单的页面看起来是不同的。在

怎么了?,我对python的研究越多,它似乎就越难用它来制作网页,与php相比。学习pythonwebdevelopment有什么好的起点吗?在

对不起,如果我的问题模糊不清。我只想从pythonwebdevelopment开始一些指导


Tags: django代码框架webmod网页wsgipure
3条回答

是的,在不使用web框架的情况下用python制作网页比用php更难。这是通过设计实现的,因为它可以让您更好地控制页面与服务器的交互方式,从而使您能够构建伸缩性良好的站点,以及其他好处。WSGI是与服务器交互的现代方式,但是正如您所观察到的,它包含了PHP对用户隐藏的许多细节。在

如果您正在寻找一个类似php的python体验,您可以看看web.py或{a2}。就框架而言,它们是非常简单的,并且负责与服务器的交互,但在其他方面不妨碍您。在

这就是说,你真的应该考虑Django或其他类似的框架——它们提供了一些非常好的好处,可以帮助你快速获得那些本来会非常复杂的网站。它们解决了一个稍微不同的问题,并提供了与普通PHP框架不同的解决方案,因此即使您不喜欢PHP中的框架,也应该考虑它们。在

如果您想以更像php的方式来做事情,可以使用CGI。这绝对不是一个推荐的解决方案,也不会教你前进的最佳实践,但它可以让你开始。。。在

实际上,考虑一个框架。这是大多数Python web开发的方式,如果使用Python进行开发,您将学到更多有用的技能。在

作为一个和你几个月前处境非常相似的人,我给你一些建议。在

所以你用apache来托管你的网站。太酷了。为了使python更好地与apache配合使用,您将希望使用mod wsgi,因为其他人已经声明:关注点的分离使它比cgi更好,mod廑python不再受支持。在

然而,您认为前面的框架将使您更接近于用“纯”python编程的印象有点离题。我也有同样的观点,并尝试使用Django和只使用mod wsgi。让我分享我的发现。在

Mod\uwsgi是在PEP 333中找到的wsgi标准的实现。实施和标准之间的区别很重要。首先,因为这意味着符合WSGI的应用程序将跨实现工作。更重要的是,它揭示了WSGI的重要功能。也就是说,WSGI是编写框架的标准。政治公众人物:

simplicity of implementation for a framework author is not the same thing as ease of use for a web application author

以及

The goal of WSGI is to facilitate easy interconnection of existing servers and applications or frameworks, not to create a new web framework.

我不是说你不应该对wsgi做些什么,但是你应该期待着编写一个框架而不是一个应用程序。如果您对编写一个简单的框架感兴趣,this tutorial就是我的起点。在

然而,如果你只是想做一个网站,看看其他人建议的一个框架。您仍将编写python代码,但作者努力使您编写的代码与生产网站的连接更紧密,而不是生成框架。我个人使用过Django,一旦它启动并运行,就可以毫不费力地开发出有趣的应用程序。而且,他们的文档非常好,并且有一个很好的教程here。也就是说,Django的功能非常全面,如果你想找一些更简约的东西,我听说了关于Flask的一些好消息,但也有很多其他的选择。在

mod\uwsgi更好,因为它基于wsgi规范,该规范定义了web应用程序(或框架)和web服务器之间的接口。最简单的WSGI应用程序只不过是一个函数,它通过回调发送一些HTTP头,并返回一个字符串以响应有关HTTP请求的信息。而且由于WSGI是由许多web服务器实现的,所以您不必依赖Apache。在

在Python中,最接近于纯无框架web开发的方法是直接编写WSGI应用程序。这将真正帮助您看到像Django这样的框架会模糊的东西。在

为了使事情更简单,您可以考虑使用Werkzeug,这是WSGI的一个实用程序库。它有许多类似于框架的组件,但是你可以选择你想要的和不想要的。例如,它有一个非常整洁的系统来解析和分配url。Werkzeug还有一个简单的命令行WSGI服务器,这可能比Apache更适合开发。在

相关问题 更多 >