python网站开发

python网站开发,python,frameworks,web,wsgi,Python,Frameworks,Web,Wsgi,我需要创建一个简单的网站,服务器将运行在亚马逊EC2网络服务。但是我以前没有做过网络开发。看起来我需要学习很多东西,javascript、html、css、web框架、WSGI、ApacheWeb服务器等等。我被一些看起来差不多的东西弄糊涂了 所以第一个问题,谁能告诉我,我到底需要什么来建立这个网站。web框架是我在服务器端唯一需要的东西吗 第2个问题,我将在服务器端使用python,实际上有很多用于python的web框架。ApacheHTTP服务器与这些web框架中的内置wsgi或http

我需要创建一个简单的网站,服务器将运行在亚马逊EC2网络服务。但是我以前没有做过网络开发。看起来我需要学习很多东西,javascript、html、css、web框架、WSGI、ApacheWeb服务器等等。我被一些看起来差不多的东西弄糊涂了

所以第一个问题,谁能告诉我,我到底需要什么来建立这个网站。web框架是我在服务器端唯一需要的东西吗

第2个问题,我将在服务器端使用python,实际上有很多用于python的web框架。ApacheHTTP服务器与这些web框架中的内置wsgi或http web服务器有什么区别

第三个问题,WSGI是最佳选择吗?大多数web框架都支持WSGI,这是否意味着WSGI是在web框架中构建的?或者我需要包括mod_wsgi或类似的东西

此外,根据,和mod_wsgi显示了良好的性能和较低的内存占用。他们并不声称自己是web框架,他们与cherrypy、web2py等web框架有什么区别

谢谢

  • 您将需要web服务器,Apache是一种流行的选择。您可能还需要安装数据库,MySQL是免费的、简单的和流行的

  • 最流行(我认为也是最好的)python框架是

  • 许多人使用apache运行Django。框架通常只提供不适合作为真正服务器的开发服务器

  • WSGI服务器可能只提供请求处理和编写代码的入口点,但框架提供了更多(用户处理、管理界面、ORM、模板等)


  • WSGI是一个接口。它需要一个容器(例如mod_wsgi)、一个应用程序(例如Django)和可选的中间件。应用程序可以直接针对WSGI构建,也可以构建在Django等为您处理WSGI位的框架之上

    不要在框架中使用内置的web服务器。它们通常不是为性能而设计的,并且通常不能很好地与服务器的非WSGI部分集成

  • 取决于你的网站-如果你只需要静态内容,你可以使用静态网站生成器(用Python编写的),或者,如果你的网站提供动态内容,你应该使用某种框架(,Django,等等)。对于静态站点生成器,您在服务器上所需要的只是为您的内容提供服务的Web服务器,但是对于动态站点,您可能需要额外的库来实现各种功能,如数据库支持、缓存等

  • 内置Web服务器通常用于本地开发,通常不适合生产使用。对于后者,请使用特定的应用程序,如mod_wsgi(用于Apache)或uwsgi(用于Nginx)。但是尽量避免使用mod_python

  • WSGI代表Web服务器网关接口,是Web服务器和Web应用程序(或框架)之间使用的标准协议。WSGI似乎是目前唯一的标准选择,所以请继续

  • 此外,根据python WSGI服务器的这个基准测试,gevent和 mod_wsgi在低内存占用的情况下表现出出色的性能。他们没有 声称自己是web框架,它们之间有什么区别 还有cherrypy、web2py等web框架

    如前所述,WSGI只是web服务器与web应用程序对话的一种方式。CherryPy和web2py处理模板、请求和会话处理,并通过WSGI将这些信息输出到web服务器


    如果你担心速度,那就不要太担心了

    这并不完全是一个编程问题,因为您实际上只是在问如何开始web开发,对此没有明确的答案

    我可以热情地推荐开始使用Django,因为它有很好的文档记录和很好的教程。它还使用Python,这意味着更容易理解其他人的代码

    不管您选择Django还是其他什么,只要选择一个web应用程序开发教程并运行它就可以了。谷歌搜索一个(对于Django,你可以在非常有用的#Django IRC频道上询问)。这将为您提供一个良好的基础,至少有一个您了解的工作示例,以及运行的web应用程序的不同部分以及它们如何协同工作的清晰图片

    之后,您可以分门别类地学习许多相关的技能和技术,最好是在您开发自己的实际web应用程序时由您的需求驱动(即使最初只是为了学习目的)


    祝你好运

    任何人都不应该使用mod_python运行任何东西。它被正式废除了。谢谢你的更正,意思是莫德·维斯吉。@Lycha谢谢你。Django看起来太复杂了,实际上我不需要强大的数据库支持,服务器只需要维护用户的信息,并且当前需要一个锁表。数据将存储在amazon S3中。谢谢。网站需要提供动态内容。如果我没有弄错的话,这些框架是用来开发web应用程序的,而mod_wsgi是用来在服务器上进行应用程序和服务器之间的通信的,对吗?是的,尽管mod_wsgi只是特定于Apache的。@lgnacio所以我需要一个web服务器、一个数据库和服务器端的mod_wsgi。对于在客户端开发应用程序,一个框架就足够开始了。对吗?数据库是可选的,除非您正在开发面向数据库的应用程序。如果框架有一个内置的Web服务器,那么就足够了,但是您可能需要查看一个单独的WSGI容器。