Как смоделировать префикс mod_wsgi в тестах django? - PullRequest
1 голос
/ 15 декабря 2011

Я использую mod_wsgi с префиксом url. мои настройки:

Alias /prefix /path_to_wsgi_file/file.wsgi
<Directory /path_to_wsgi_file>
  Options ExecCGI
  SetHandler wsgi-script
  ...
</Directory>

Я бы хотел, чтобы мои тесты django имитировали эту ситуацию, чтобы я мог избежать различий между тестированием и реальной средой. Это означает, что я хочу, чтобы request.get_full_path () содержал префикс / 1004 *

Есть ли способ сделать это?

РЕДАКТИРОВАТЬ: после просмотра источника, чтобы понять, что делает FORCE_SCRIPT_NAME, похоже, что он используется, когда wsgi.py вызывает set_script_prefix () для urlresolvers. Моя проблема в том, что это не вызывается, когда я запускаю «manage.py test». Я думаю, я мог бы сам назвать этот метод в тесте. Есть лучшие предложения?

1 Ответ

1 голос
/ 15 декабря 2011

Обычно у вас есть SCRIPT_NAME, правильно настроенный на веб-сервере, и reverse обрабатывает все за вас.Если вы хотите настроить конкретный префикс для применения, вы можете настроить FORCE_SCRIPT_NAME, который будет переопределять любые конкретные SCRIPT_NAME, которые могут быть настроены или нет.

Это позволит вамперевернуть и обслуживать URL-адреса для данного /prefix.

...