#!/usr/bin/env python # -*- coding: utf-8 -*- import os from twisted.application import service from twisted.web import server, static from twisted.web.resource import Resource from twisted.web.wsgi import WSGIResource from twisted.internet import reactor from flask.views import MethodView from flask import Flask, render_template SECRET_KEY = ‘whhhaat‘ app = Flask(__name__) app.config.from_object(__name__) class IndexHandler(MethodView): def get(self): return render_template(‘index.html‘) app.add_url_rule(‘/‘, view_func=IndexHandler.as_view(‘index‘)) class Root(Resource): wsgi = WSGIResource(reactor, reactor.getThreadPool(), app) def getChild(self, path, request): request.prepath.pop() request.postpath.insert(0, path) return self.wsgi def render(self, request): return self.wsgi.render(request) application = service.Application(‘whhhaat‘) root = Root() static_dir = os.path.join(os.path.abspath(__file__), ‘static‘) resource = static.File(static_dir) root.putChild(‘static‘, resource) site = server.Site(root)
twistd -n web --wsgi lol.app
原文:http://www.cnblogs.com/bergus/p/4592757.html