Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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 web框架_Python - Fatal编程技术网

具有低进入壁垒的Python web框架

具有低进入壁垒的Python web框架,python,Python,我正在寻找一种轻佻/愚蠢的经历 非常透明的东西。编写脚本,点击F5并查看结果。很少,如果有抽象的话。 SQLAlchemy和(可能)一些简单的模板引擎将被使用 我需要对环境的简单访问-类似于PHP的方式。类似于COOKIE、会话、POST和GET对象 我不想写一个中间件层仅仅为了让一些web服务启动并运行。我不想讨论CGI的细节 这并不适用于非常复杂的项目,而是适用于初级程序员和/或初级Python程序员 MVC框架不是不可能的。ASP.NETMVC做得很好。我喜欢的一件事是,如果需要,发布的数

我正在寻找一种轻佻/愚蠢的经历

非常透明的东西。编写脚本,点击F5并查看结果。很少,如果有抽象的话。 SQLAlchemy和(可能)一些简单的模板引擎将被使用

我需要对环境的简单访问-类似于PHP的方式。类似于COOKIE、会话、POST和GET对象


我不想写一个中间件层仅仅为了让一些web服务启动并运行。我不想讨论CGI的细节

这并不适用于非常复杂的项目,而是适用于初级程序员和/或初级Python程序员

MVC框架不是不可能的。ASP.NETMVC做得很好。我喜欢的一件事是,如果需要,发布的数据会自动转换为数据模型对象

你能帮我吗

谢谢

PS:我在以前的帖子中没有找到任何符合这些标准的东西。

看看:

  • ,HTTP服务器调用Python代码的标准Python API
  • ,一个流行的、功能丰富的、有良好文档记录的Python web框架
  • ,一个最小的Python web框架
您研究过web框架吗?它是一个用python编写的MVC框架,设置和启动起来相对简单。您可以只使用python运行它,因为它可以使用SQLite和自己的开发服务器,或者您可以将其设置为使用MySQL和Apache(如果您愿意)

是另一个支持模型SQLAlchemy的框架。我从未使用过它,但它似乎很有前途。

可能正是您所需要的。它将URL透明地映射到Python函数上,并处理所有cookie和会话内容(当然还有POST/GET参数)

它不像Django或Rails那样是一个完整的堆栈解决方案。另一方面,这意味着它不会把你和模板引擎或你不喜欢的ORM混为一谈;你可以随意使用任何你喜欢的东西


它包括一个兼容WSGI的web服务器,所以您甚至不需要Apache。

在我看来,您所描述的最相似的东西。然而,Python/for Python中的web框架数量巨大——请参见列出并非常简要地描述每一个框架的尝试!)

对于低进入壁垒,非常轻且简单

特点:

  • 轻松(开发)部署。。。将web.py文件夹复制到应用程序目录中,然后启动服务器
  • 基于正则表达式的url映射
  • 非常简单的类映射
  • 内置服务器(当然大多数框架都有)
  • python应用程序代码上非常薄的一层(至少以代码行来衡量)
这是它的《你好,世界》:

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'world'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()
我在概念上非常喜欢Werkzeug,在Hello,World中编写wsgi管道!非常令人不快,并且完全妨碍了应用程序的实际演示

也就是说,web.py并不完美,对于大型工作来说,它可能不是合适的工具,因为:

  • routes样式系统(imho)优于纯正则表达式系统
  • 将web.py与其他中间件集成可能是一种冒险
退房。它在没有配置的情况下即用即用,即使是从U盘上。模板语言是纯Python,您可以通过浏览器编辑器开发整个应用程序(尽管我发现vim更快;)

别忘了。它是一个单文件microweb框架,没有依赖性,非常易于使用。下面是一个“Hello world”示例:

这里有一个访问POST变量的示例(Cookie和GET变量类似)


我们已经在SQLAlchemy上投入了一些工作,所以我想使用它。Django的问题是它只支持实验性的afaik。编辑:如果你真的喜欢SQLAlchemy,你可以尝试使用挂架。对SQL Alchemy的投资应该适用于Django ORM,不会有太多麻烦。有重写,但它的句法和次要。另外,当你从SA搬到Django的时候,你可以放下一些东西。别那么快,S.Lott!django中的复合主键和BLOB呢?“语法和次要”——我想这取决于您对SA的操作。我倾向于用SA做的事情通常不属于这一类。这种组合适合我。与SQLAlchemy结合使用时,您必须稍微小心一点,以获得正确的多线程处理。你可以使用这段代码来实现这一点(或者直接使用webpyte)+1,因为它不仅仅是一个简单的web应用程序框架,它也是编写RESTful服务的一个很好的介绍。“我不想编写一个中间件层只是为了启动和运行一些web服务。我也不想处理CGI的细节。”我不知道该如何解释:使用中间件(即web框架)来避免CGI的细节。你说的“中间件”是什么意思?你能举个例子吗?我不想处理我的应用程序和web服务器之间的接口。它应该会起作用。看过《werkzeug》后,我想我应该提一下。也许我对“中间件”这个词的选择是错误的,“它应该能工作”并没有多大意义。有一个接口。必须有人编写代码,通过该接口交换数据。我真的不明白这个问题——尽管如此——你能提供一些细节或一些示例代码来满足你的“just work”标准吗?回到Werkzeug的例子——有很多事情我不容易理解。部分原因是我不习惯Python语法。但另一部分是肯定很有意义的事情,但前提是你有相对较多的背景知识。(参见一些代码示例)在LAMP/WAMP中,您不必知道请求对象来自何处以及它们是如何创建的。您不必在服务器和应用程序之间建立这种连接。这就是我想要的。如果web.py出现在单独的评论中,我会投票支持它。我不想投票支持Django
from bottle import route, run
@route('/')
def index():
    return 'Hello World!'
run(host='localhost', port=8080)
from bottle import route, request
@route('/submit', method='POST')
def submit():
    name = request.POST.get('name', 'World')
    return 'Hello %s!' % name