я получил следующую структуру каталогов:Django приложение на своем поддомене
/(index) /blog/ /about/
Запуск только один экземпляр Django, я хочу, чтобы URL для отображения в качестве blog.domain.com (для моего блога приложение), но все остальные URL-адреса для запуска в домене (www.) domain.com/.
Я мог бы, конечно, жестко привязать ссылки, заставляя эту настройку (в основном веб-сервер будет слушать blog.domain.com и делать переадресацию как domain.com/blog/, но пользователь все равно будет видеть blog.domain.com), но Я хочу, чтобы иметь возможность правильно разрешать мои URL-конфигурации, но все же заставить их указывать на domain.com или blog.domain.com в зависимости от разрешения URL-адреса (приложения).
Есть ли хороший способ сделать это? Я думал о пользовательском templatetag для использования вместо {% url my_resolve_name slug="test" as test %}
.
Как это поможет мне разрешить все мои URL-адреса блога для blog.domain.com, но все остальные решения перейдут на домен.com? Если я нахожусь на blog.domain.com, все url будут разрешены для blog.domain.com, а не только для связанных с блогами приложений. – xintron
Хорошо, если у вас будет только два поддомена, это не оптимальный способ. В этом случае у меня будут два разных параметра 'settings_blog', который имеет приложение для блогов, а Apache virtualhost указывает на файл wsgi, который имеет' DJANGO_SETTINGS_MODULE' для параметра settings_blog. Другой виртуальный хост отвечает на все остальное на example.com и имеет файл wsgi, который имеет 'DJANGO_SETTINGS_MODULE' установленный в настройки, в котором есть все другие приложения. – agiliq
Это работает только в том случае, если я использую Apache, чего у меня нет. Запуск nginx и django как fastcgi (хотя позже можно попробовать uwsgi). – xintron