2013-08-16 10 views
5

나는 간단한 Python 웹 응용 프로그램을 구축하고 있으며 SABNZBD 또는 Couch Patato와 같이 단독 실행되도록하고 싶습니다. 이러한 응용 프로그램은 자체 포함 된 웹 응용 프로그램입니다. 이 제품들은 웹 인터페이스를 제공하기 위해 무엇을 사용합니까?python 웹 기반 응용 프로그램을 빌드하기위한 옵션

응용 프로그램에서 이미지 앨범 (폴더)을 조회하고 선택하면 슬라이드 쇼 방식으로 표시됩니다. 모든 정보는 XML 파일에 있으므로 데이터베이스가 필요하지 않습니다. 내 목표는 응용 프로그램을 최대한 포함 된 것으로 만드는 것입니다.

나는 장고를 보았고 나의 응용을 위해 다소 위압적이며 과도한 것처럼 보인다. 내 다른 옵션은 무엇인가?

감사 Darrell.

+0

: http://wiki.python.org/moin/WebFrameworks – jfs

+0

당신이 웹 응용 프로그램을 하시겠습니까? 데스크탑 애플리케이션을 만드는 것처럼 들리며 Python은 많은 GUI 툴킷과 호환됩니다. [tk] (http://docs.python.org/2/library/tk.html)에 번들로 제공되며 [GTK] (http://www.pygtk.org/), [qt] (와) 호환됩니다. http://www.riverbankcomputing.co.uk/software/pyqt/) 및 [wx] (http://www.wxpython.org/)를 참조하십시오. 또한 [camelot] (http://www.python-camelot.com/)과 같은 툴킷을 사용하면 신속한 애플리케이션 프로토 타이핑을 매우 쉽게 할 수 있습니다. –

+0

응용 프로그램을 크로스 플랫폼으로 만들고 싶습니다. 아이디어는 모바일 장치에서도 작동해야한다는 것입니다. – DeChinees

답변

11

가 왜 파이썬에서 플라스크를 사용하지 않는가?

당신은 web.py보고 할 수 있습니다이 http://flask.pocoo.org/

from flask import Flask 
app = Flask(__name__) 

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

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

나는 이것을 시도 할 것이다. 모든 팁을 가져 주셔서 감사합니다. – DeChinees

+0

+500 ......... :) –

+0

예 감사합니다 :). –

3

당신은 단지 하나의 파이썬 파일과 불필요한 복잡성없이 당신에게 웹 처리의 대부분을 제공 Bottle 같은 간단한 것을, 시도 할 수 있습니다 :

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) 
+1

아파치와 같은 WSGI 핸들러에서 병 응용 프로그램을 마운트 할 수 있어야한다고 들었습니다. 따라서 랩톱에서 단일 Bottle 파일을 사용하여 응용 프로그램을 프로토 타입하고 (자체 내장 된 HTTP 서버 코드로 독립 실행 형)이를 "실제"서버에 배포 할 수 있어야합니다. 특히 내부 유틸리티를 거의 사용하지 않는 경우에 편리합니다. –

2

를보십시오.

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

이 너무 간단하고 powerful.I 내 모든 webapplications 3 년 동안 그것을 사용 : 여기

import web 

urls = (
    '/', 'index' 
) 

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

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

많은 옵션이 있으며 며칠 내에 픽업하기가 쉽습니다. 당신이 선택한 것은 완전히 당신에게 달린 것입니다.

는 여기에 몇 가지의 가치에 대한 언급은 다음과 같습니다

Tornado

: 원래 프렌드에서 개발 파이썬 웹 프레임 워크 및 비동기 네트워킹 라이브러리.



Bottle

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() 
: 파이썬 빠르고, 간단하고 가벼운 WSGI 마이크로 웹 프레임 워크. 단일 파일 모듈로 배포되며 Python 표준 라이브러리 이외의 종속성이 없습니다.



CherryPy

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) 
: 미니멀 파이썬 웹 프레임 워크

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

cherrypy.quickstart(HelloWorld()) 



Flask : 플라스크 WERKZEUG, 신사 2, 좋은 의도를 기반으로 파이썬을위한 microframework입니다 .

from flask import Flask 
app = Flask(__name__) 

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

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



web.py는 : 그것은 강력한만큼 간단 파이썬 웹 프레임 워크이다. 관련

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() 
관련 문제