Вместо того, чтобы запретить доступ, вы не можете просто отобразить страницу с ошибкой, которую хотите отобразить? То есть вместо
render_to_result('mypage.html', {})
вы делаете сейчас,
render_to_result('error500.html', {'error': 'oops'})
Таким образом, у вас нет явных URL-адресов, но вы действительно предоставляете информацию пользователю.