构建基于python web的应用程序的选项

时间:2013-08-16 09:51:54

标签: python web

我正在构建一个简单的Python Web应用程序,我希望它像SABNZBD或Couch Patato一样独立运行。这些应用程序是自包含Web应用程序。这些产品用于提供Web界面的内容是什么?

应用程序构建将执行图像相册(文件夹)的查找,并在选中时,以幻灯片方式呈现它。所有信息都在XML文件中,因此不需要数据库。 我的目标是尽可能使应用程序自包含。

我看过Django,对我的应用来说看起来有点令人生畏和过度杀伤,我的其他选择是什么。

感谢Darrell。

5 个答案:

答案 0 :(得分:11)

为什么不在python中使用 flask

看看这个   http://flask.pocoo.org/

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

答案 1 :(得分:10)

有很多选择,它们在几天内都很容易上手。你选择哪一个完全取决于你。

以下是一些值得一提的内容:

Tornado:Python Web框架和异步网络库,最初是在FriendFeed上开发的。

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()



Bottle:一个用于Python的快速,简单且轻量级的WSGI微型Web框架。它作为单个文件模块分发,除了Python标准库之外没有依赖项。

from bottle import route, run, template

@route('/hello/<name>')
def index(name='World'):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)



CherryPy:极简主义的Python Web框架

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())



Flask:Flask是基于Werkzeug,Jinja 2和良好意图的Python微框架。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()



web.py:是一个简单易用的Web框架。

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()

答案 2 :(得分:3)

你可以尝试一些更简单的东西,比如Bottle,它只是一个python文件,可以为你提供大部分的网页处理而不会有不必要的复杂性:

from bottle import route, run, template

@route('/hello/<name>')
def index(name='World'):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

答案 3 :(得分:2)

您可能需要查看web.py。这是Hello World示例

import web

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        return "Hello, world!"

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

答案 4 :(得分:2)

结帐Cherrypy

import cherrypy
class HelloWorld(object):
    @cherrypy.expose()
    def index(self):
        return "Hello World!"
cherrypy.quickstart(HelloWorld())

这是如此简单和强大。我在我的所有网络应用程序中使用它3年。