2011-12-15 3 views
1

url 접두사가있는 mod_wsgi를 사용하고 있습니다. 내 설정은 다음과 같습니다 제가 테스트 및 실제 ENV의 차이를 피할 수 있도록django 테스트에서 mod_wsgi 접두어를 시뮬레이트하는 방법은 무엇입니까?

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

내가이 상황을 시뮬레이션 내 장고 테스트를하고 싶습니다. 즉 request.get_full_path()에/prefix가 포함될 것을 의미합니다.

그 방법은 무엇입니까?

EDIT : FORCE_SCRIPT_NAME의 기능을 이해하기 위해 원본을 살펴본 후 wsgi.py가 urlresolvers의 set_script_prefix()를 호출 할 때 사용 된 것처럼 보입니다. 문제점은 "manage.py test"를 실행할 때 호출되지 않는다는 것입니다. 테스트에서이 메서드를 직접 호출 할 수 있다고 생각합니다. 더 좋은 제안이 있으십니까?

답변

1

일반적으로 웹 서버에 SCRIPT_NAME을 올바르게 구성하고 reverse이 모든 것을 처리하도록합니다. 적용 할 특정 접두사를 구성하려면 FORCE_SCRIPT_NAME을 구성하면 구성 할 수있는 특정 SCRIPT_NAME을 무시합니다.

이렇게하면 주어진 /prefix에 URL을 역방향으로 게재 할 수 있습니다.

관련 문제