Без mod_python, mod_wsgi или fastCGI вы не сможете сделать это напрямую.
Я думаю, что вам, возможно, придется запустить приложение django в автономном режиме, прослушивая другой порт, а затем в основном использовать PHP для запросов к нему через прокси.
Так ты делаешь
python manage.py runserver 9999
возможно, запустив его с nohup, чтобы он продолжал работать при выходе из системы:
nohup python manage.py runserver 9999 &
Затем в ~ username вы создаете сценарий proxy.php, который принимает любой дополнительный PATH_INFO и делает запрос к localhost: 9999, передавая заголовки HTTP, собирает ответ и отправляет его обратно в браузер.
Так, например, браузер запрашивает http://example.com/~username/proxy.php/some/path/, а PHP-скрипт запрашивает http://localhost:9999/some/path/ и отправляет результаты.
Я не программист PHP, поэтому я не могу точно показать вам, как это написать, но я уверен, что кто-то там реализовал HTTP-прокси в PHP.
Если у вас есть поддержка .htaccess в этом каталоге, а в apache включен mod_proxy_http, вы можете просто использовать apache для прямого прокси-запроса. Документация довольно проста в использовании. Но если у них не включен CGI, они, вероятно, тоже не настроены.
Конечно, проще всего было бы, если бы вы могли просто избежать запуска django и прослушивания открытого порта и получить к нему прямой доступ. Т.е.
python manage.py runserver example.com:9999
и прямой доступ к нему как http://example.com:9999/