如何暂时将django站点移动到子目录(用于测试)?

时间:2009-11-30 15:04:57

标签: python django url .htaccess fastcgi

我正在部署新的Django网站以取代当前的Wordpress博客。当我设置它时,我想在将东西切换到root并“go live”之前测试域的子目录中的所有内容。例如:http://example.com/django/

编辑我的.htaccess文件允许我顺利重定向(我可以看到Django网站和我的wordpress网站仍然有效),但是,我不知道如何告诉Django查看{{1} }作为BASE URL(而不仅仅是http://example.com/django/)...我尝试设置我的SITE域但是没有帮助。

目前,我的所有网页都获得了404响应 - 他们没有匹配任何网址模式(因为我的网址模式都不以http://example.com/开头)。

我找了一种方法来设置django/但找不到任何方法。想法?我只想这样做几个小时,我测试一切以确保它正常工作,然后交换BASE_URL文件中的设置并在主站点上运行它。

2 个答案:

答案 0 :(得分:1)

在Apache指令中设置以下内容:

    PythonOption django.root /django

然后django会在每个网址请求的前面修剪/django

答案 1 :(得分:0)

执行此操作的一种方法是复制当前mysite/mysite/urls.py来电betaurls.py,在每个网址前添加/django/,这样

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部署的新根。