首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用纯Python生成Web页面的轻量级设置

用纯Python生成Web页面的轻量级设置
EN

Stack Overflow用户
提问于 2011-07-07 13:58:55
回答 4查看 2.2K关注 0票数 7

我对Python完全陌生,我想开始使用它构建Web页面(但不是使用Web框架或模板模块)。最低要求是什么?你能建议一个简单的设置吗?

谢谢!

编辑:我不想不惜一切代价成为极简主义者。我正在寻找的是一种简单、通用的解决方案,它与语言保持一致(并且不会强加设计范式,例如MVC)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-07 14:08:40

我顺其自然,我建议使用轻量级框架。

首先,web应用将你的服务器暴露在安全风险中,所以最好使用由或多或少的大型开发人员社区维护的东西(更多的眼球来修复漏洞)。

此外,如果您想“紧跟语言”,您需要某种抽象层来以pythonic方式管理HTTP。Python包含了所有关于高电平电池的东西。

其中一些框架非常接近python的语法、语义和风格。以webpy为例。我认为这句话道出了webpy背后的很多理念:

"Django让你用Django编写web应用程序。TurboGears让你用TurboGears编写web应用程序。Web.py让你用Python语言编写web应用程序。“-- Adam Atlas

在简洁性和“常规”python的使用方面,另一个很好的候选者是cherrypy。来自他们的网站:

Python允许开发人员构建web应用程序,其构建方式与构建任何其他面向对象的

程序的方式非常相似。..。您的powered应用程序实际上是独立的CherryPy应用程序,其中嵌入了自己的多线程web服务器。您可以将它们部署到可以运行Python应用程序的任何位置。

票数 3
EN

Stack Overflow用户

发布于 2011-07-07 14:28:10

干净的WSGI应用程序,没有成熟的框架:

代码语言:javascript
复制
from wsgiref.simple_server import make_server

def application(environ, start_response):

   # Sorting and stringifying the environment key, value pairs
   response_body = ['%s: %s' % (key, value)
                    for key, value in sorted(environ.items())]
   response_body = '\n'.join(response_body)

   status = '200 OK'
   response_headers = [('Content-Type', 'text/plain'),
                  ('Content-Length', str(len(response_body)))]
   start_response(status, response_headers)

   return [response_body]

# Instantiate the WSGI server.
# It will receive the request, pass it to the application
# and send the application's response to the client
httpd = make_server(
   'localhost', # The host name.
   8051, # A port number where to wait for the request.
   application # Our application object name, in this case a function.
   )

# Wait for a single request, serve it and quit.
httpd.handle_request()

然后你可以使用nginx:http://wiki.nginx.org/NgxWSGIModule

这是最稳定、最安全、最基本的设置。

更多示例请访问:https://bitbucket.org/lifeeth/mod_wsgi/src/6975f0ec7eeb/examples/

这是最好的学习方法(如你所问)。我已经走过这条路了。

票数 4
EN

Stack Overflow用户

发布于 2011-07-07 14:17:00

如果你真的想要做到这一点,至少你需要了解WSGI,这是Python和web服务器之间的粘合剂。您可以直接在此基础上构建Python web应用程序。

但是,像其他回答者一样,我真的鼓励您使用框架。它们并不都是像Django这样的巨大的单块的东西--比如像Flask这样的微框架。他们会处理一些显而易见的事情,比如将URL请求路由到正确的代码。

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

https://stackoverflow.com/questions/6606431

复制
相关文章

相似问题

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