启动simple_server后要做什么?

时间:2009-06-26 01:40:58

标签: python

对于一些快速的背景,我是一个具有一些基本PHP知识的XHTML / CSS人员。我正试图深入到Python池中,到目前为止,我们已经了解了如何启动simple_server并在同一个.py文件中访问一个简单的Hello World返回。这是我理解的程度,呵呵。

如何集成simple_server和基本的XHTML / CSS文件?我想启动服务器并自动调用,例如,index.py(它需要是.py吗?)。显然在索引文件中我会有我的标记和样式表,我会在那时像普通网站一样操作它。

我最终的目标是获得一个基本的留言板(发布,编辑,删除,用户会话)。我意识到我需要访问一个数据库,而且我知道我的方式足以让我不必担心这些部分。

感谢您的帮助。

编辑:请允许我澄清我的目标,因为我被告知Python比PHP做得多。我的目标是开始在我预先存在的静态XHTML页面中构建简单的Web应用程序。显然,使用PHP,您只需确保在服务器上安装它并开始编写代码。我想知道Python在这个意义上有多么不同,我要做的就是用Python编写一个基本的留言板。

5 个答案:

答案 0 :(得分:3)

我建议Django

答案 1 :(得分:3)

其他答案为你可能想要对你的“最终目标”提供了很好的建议,但是,如果你第一次希望坚持使用wsgiref.simple_server进行指导,那么你也可以这样做。 WSGI是Web服务器之间的关键“粘合剂”(当然不仅仅是wsgiref中的简单“粘合剂” - 也是实际的,例如Apache或Nginx [两者都有称为mod_wsgi的相应模块]例如,Google App Engine - 它也提供WSGI作为其基础API)和Web应用程序(以及使这些应用程序更容易编写的框架)。

每个人都向你推荐各种框架,但理解WSGI不会受到伤害(因为它将成为你最终选择的框架的基础)。如果您愿意,为了达到这种理解,wsgiref.simple_server将为您服务一段时间。

基本上,你想要做的是写一个WSGI app - 一个带有两个参数的函数或类(一个“环境”字典,一个“启动响应”可调用它必须回调状态和返回响应的主体之前的标题)。您的“WSGI应用”可以打开您的index.py或其他任何想要准备状态,标题和正文的内容。

WSGI还有很多其他功能(中间件概念特别强大),当然你不必深入了解它 - 只有你所关心的深度!有关教程& c,请参阅wsgi.org。我认为加德纳的两部分article特别有趣。

一旦(如果这是您的选择)您了解WSGI,您可以更好地决定是否要将它们全部隐藏在更高级别的框架中,例如Django(这样您可以专注于应用程序级别的问题)或使用非常轻的WSGI实用程序的模块化工具箱,例如Werkzeug - 或其间的任何内容! - )

答案 2 :(得分:1)

看看CherryPy。这是一个很好的http框架。

答案 3 :(得分:1)

“显然,使用PHP,您只需确保将其安装在服务器上,然后开始编写代码。”

Python不正确。 Python只是一种语言,而不是像PHP这样的Apache插件。

通常,您可以使用类似mod_wsgi的内容为Apache创建Python插件。你发现网页处理涉及很多步骤,其中没有一步是Python 语言的一部分。

您必须使用扩展库或框架来处理Python中的Web请求。 [此时,一些PHP人员会问为什么Python如此受欢迎。原因是因为您可以选择使用哪个库或框架。]

PHP解析请求,并允许您在结果页面中嵌入代码。

Python框架 - 通常 - 不会以这种方式工作。大多数Python框架将操作分解为几个步骤。

  1. 解析URL并找到合适的代码。

  2. 运行代码以获取结果数据对象。

  3. 将生成的数据对象插入到HTML模板中。

  4. “我的目标是开始在我之前存在的静态XHTML页面中构建简单的Web应用程序。”

    让我们看看你如何在Django中执行此操作。

    1. 创建一个Django项目。

    2. 创建一个Django应用程序。

    3. 将XTHML页面转换为Django模板。拉出动态内容并输入{{ somevariable }}标记。根据动态内容的不同,这可能很简单或相当复杂。

    4. urls.py文件中定义查看功能映射的URL。

    5. views.py文件中定义视图功能。这些视图函数创建模板中的动态内容以及要呈现的模板。

    6. 此时,您应该能够启动服务器,启动浏览器,选择URL并查看呈现的模板。

      “用Python编写基本留言板。”

      让我们看看你如何在Django中执行此操作。

      1. 创建一个Django项目。

      2. 创建一个Django应用程序。

      3. models.py

      4. 中定义您的数据模型
      5. tests.py中编写单元测试。测试模型的方法以确保它们都能正常工作。

      6. 使用内置管理页面播放。

      7. 创建Django模板。

      8. urls.py文件中定义查看功能映射的URL。

      9. views.py文件中定义视图功能。这些视图函数创建模板中的动态内容以及要呈现的模板。

答案 4 :(得分:0)

这取决于你想要达到的目标,

a)你是否只想编写一个Web应用程序而不必过多担心后台的内容,如何处理请求,或者渲染模板而不是goo webframework,有很多选择简单的http服务器是不是其中之一。例如使用django,turbogears,webpy,cheerpy,pylons等 请参阅http://wiki.python.org/moin/WebFrameworks了解完整列表

b)如果你想从一开始就开发一个简单的web框架,这样你就可以了解内部并提高你对python的了解,那么我会建议使用简单的http服务器 见

  1. 如何创建一个URL方案,以便调度URL以纠正python函数,
  2. 看看如何渲染HTML 模板例如包含地方 持有人变量$ title等 你可以使用转换为字符串 string.Template
  3. b)这将是困难但有趣的运动,a)将帮助你开始,你可能会在几天内编写网络应用程序