2017-06-20 87 views
0

我有新鲜的Django项目没有任何应用程序只是默认设置(如管理员)扭曲的Web服务的Django项目

我的计划是有视频聊天和我的Django项目内即时通讯

wsgi.py

import os, sys 
from django.core.wsgi import get_wsgi_application 

sys.path.append('MY_DJANGO_PROJECT_PATH') 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MY_DJANGO_PROJECT.settings") 
application = get_wsgi_application() 

我跑MY_DJANGO_PROJECT_PATH中我扭曲的Web服务器和端口8080

cd MY_DJANGO_PROJECT_PATH twistd -n web --wsgi=MY_DJANG_PROJECT

当我开到浏览器服务器启动(http://127.0.0.1:8080/),我得到了一个错误

WSGI应用程序错误

File "/Library/Python/2.7/site-packages/Twisted-15.5.0-py2.7-macosx-10.12-intel.egg/twisted/web/wsgi.py", line 315, in run appIterator = self.application(self.environ, self.startResponse) exceptions.TypeError: 'module' object is not callable

没有人帮助我?提前致谢。

+0

你能解释一下为什么要使用双绞线服务器来运行Django的例子? –

+0

我想使用Django进行我的Twisted应用程序的身份验证。 –

回答

0

我已经能够在twisted中使用我的Django项目,使用twisted.web.wsgi.WSGIResource。

here.

my_django_project.tac

from twisted.web import server 
from twisted.web.wsgi import WSGIResource 
from twisted.python.threadpool import ThreadPool 
from twisted.internet import reactor 
from twisted.application import service, strports 

# Create and start a thread pool 
wsgiThreadPool = ThreadPool() 
wsgiThreadPool.start() 

# ensuring that it will be stopped when the reactor shuts down 
reactor.addSystemEventTrigger('after', 'shutdown', wsgiThreadPool.stop) 

import sys 
sys.path.append('MY_DJANGO_PROJECT_PATH') 
from MY_DJANGO_PROJECT import wsgi 

# Create the WSGI resource 
wsgiAppAsResource = WSGIResource(reactor, wsgiThreadPool, 
wsgi.application) 

# Hooks for twisted 
application = service.Application('My Django Project') 
server = strports.service('tcp:8080', server.Site(wsgiAppAsResource)) 
server.setServiceParent(application)