4
Django的测试服务器,因为我写它采用双绞线网络的服务请求的异步和Django的正常内容交付的应用程序,我认为这将是不错的通过相同的扭曲反应器下运行Django的WSGI接口。运行下扭曲网
我也想用Django提供的漂亮的测试服务器工具来测试我的应用程序。起初,我只是简单地创建了测试数据库并在反应堆下触发了WSGIHandler,但是这并不起作用,因为WSGIHandler在初始化过程中没有看到创建的测试数据库。
因此,我决定周围写工作并具有分贝创建并装载在第一请求,这是细用于测试服务器装置。下面是我使用(精简)脚本:
import os, sys
import django.core.handlers.wsgi
from django.core.management import call_command
from django.db import connection
from twisted.web.wsgi import WSGIResource
from twisted.internet import reactor
from twisted.web.server import Site
sys.path.append('/path/to/myapp')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
_app = django.core.handlers.wsgi.WSGIHandler()
initialized = False
fixtures = (...) # Put your fixtures path here
def app(e,sr):
global initialized
if not initialized:
connection.creation.create_test_db(verbosity=1)
call_command('loaddata', *fixtures, verbosity=1)
initialized = True
return _app(e,sr)
res = WSGIResource(reactor, reactor.getThreadPool(), app)
factory = Site(res)
reactor.listenTCP(8888, factory)
reactor.run()
我知道这是一个黑客位的,所以如果你已经一个更好的解决方案,请在此报告。
谢谢。
感谢您的链接。我没有尝试过,但我认为它不能解决在测试模式下运行django站点的问题。或者它呢? – 2010-01-28 07:39:43