我正在构建一个简单的Python Web应用程序,我希望它像SABNZBD或Couch Patato一样独立运行。这些应用程序是自包含Web应用程序。这些产品用于提供Web界面的内容是什么?
应用程序构建将执行图像相册(文件夹)的查找,并在选中时,以幻灯片方式呈现它。所有信息都在XML文件中,因此不需要数据库。 我的目标是尽可能使应用程序自包含。
我看过Django,对我的应用来说看起来有点令人生畏和过度杀伤,我的其他选择是什么。
感谢Darrell。
答案 0 :(得分:11)
为什么不在python中使用 flask ?
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年。