Как временно переместить сайт django в подкаталог (для тестирования)? - PullRequest
2 голосов
/ 30 ноября 2009

Я в процессе развертывания нового сайта Django для замены текущего блога Wordpress. Когда я его настрою, я хочу протестировать все в подкаталоге домена, прежде чем переключать вещи в корневой каталог и запускать его. Например: http://example.com/django/

Редактирование моего .htaccess файла позволяет мне перенаправлять вещи без помех (я вижу сайт Django, и мой сайт WordPress по-прежнему работает), однако я не уверен, как сказать Django, чтобы он смотрел http://example.com/django/ как БАЗУ URL (а не просто http://example.com/) ... Я попытался настроить домен SITE, но это не помогло.

В настоящее время все мои страницы получают ответ 404 - они не соответствуют ни одному из шаблонов URL (поскольку ни один из моих шаблонов URL не начинается с django/).

Я искал способ установить BASE_URL, но не могу его найти. Идеи? Я хочу сделать это только в течение пары часов, пока я проверяю все, чтобы убедиться, что он работает, а затем поменять местами настройки в файле .htaccess и запустить его на главном сайте.

Ответы [ 2 ]

1 голос
/ 30 ноября 2009

Установите следующее в вашей директиве Apache:

    PythonOption django.root /django

Затем django будет обрезать /django с начала каждого запроса URL.

0 голосов
/ 14 января 2013

Один из способов сделать это - скопировать ваш текущий mysite/mysite/urls.py назовите его, скажем, betaurls.py, чтобы добавить /django/ перед каждым URL, таким образом

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
)

в urls.py станет

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
    url(r'^django/admin/', include(admin.site.urls)),
)

в новом файле betaurls.py, а затем в файле settings.py чередуются между

ROOT_URLCONF = 'mysite.urls'

и

ROOT_URLCONF = 'mysite.betaurls'

Таким образом, /django/ становится вашим новым корнем для развертывания django.

...