Я бегу django на витой. У меня есть специальная переменная, которую мой движок передается каждому запросу. Возьмите loook на следующий код:Django Testing - Как мне это сделать сейчас?
# Django setup
sys.path.append("shoout_web")
os.environ['DJANGO_SETTINGS_MODULE'] = 'shoout_web.settings'
from django.core.handlers.wsgi import WSGIHandler
def wsgi_resource():
pool = threadpool.ThreadPool()
pool.start()
# Allow Ctrl-C to get you out cleanly:
reactor.addSystemEventTrigger('after', 'shutdown', pool.stop)
generic = WSGIHandler()
def wrapper(environ, start_response):
environ['engine'] = engine
return generic(environ, start_response)
wsgi_resource = wsgi.WSGIResource(reactor, pool, wrapper)
return wsgi_resource
wsgi_root = wsgi_resource()
reactor.listenTCP(DJANGO_PORT, server.Site(wsgi_root, logPath=os.path.join(log_dir, '.django.log')))
Обратите внимание на строку «ENVIRON [„двигатель“] = двигатель» Прямо сейчас я заинтересован в письменном тесте все мои просмотры Джанго. Как мне это сделать?
Sample функция просмотра:
def push_message(request):
engine = request.META['engine']
if request.method == "POST":
user_hexid = request.session['user_hexid']
room_hexid = request.POST['room_hexid']
message_body = request.POST['message_body']
ret = blockingCallFromThread(reactor, engine.push_public_message, user_hexid, room_hexid, message_body)
return HttpResponse(cjson.encode({'thread_hexid':ret}))
EDIT: Просто чтобы прояснить некоторые сомнения: Я не думаю, что я могу поставить этот двигатель в настройках, потому что двигатель на самом деле скрученная сервер, который является прослушивает определенный порт