lol.py

#!/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

posted @ 2015-06-22 00:46  白云辉  阅读(260)  评论(0编辑  收藏  举报