Django根目录在虚拟目录中

时间:2012-12-06 11:54:21

标签: django urlconf

以下是设置:

  • 我在IIS 6中有一个虚拟目录,其中我的Django应用程序存在,IIS配置为将该虚拟目录上的每个请求传递给Django WSGI处理程序

    我们说这是domain.com/virtual/

  • 在我的Django dev URL CONF中我的网址配置如下:url( r'^home$, 'project.views.home' )

问题

是否有一种简单的方法(通过Django设置或服务器设置)为django应用程序设置某种ROOT_URL? (没有手动预先设置,因为这与i18n_patterns不兼容)

Django应该将所有模式视为根植于ROOT_URL并再次重定向 - 相对于相同的ROOT URL。

提前谢谢

1 个答案:

答案 0 :(得分:1)

我过去做过这个。

在您的设置文件中添加一个名为的设置: VIRTUAL_DIRECTORY =“your_virtual_directory /”

如果您正在开发dev或者拥有它自己的站点域,那么您可以将其保留为空白。

然后在您网站的urls.py文件中将此添加到您的所有顶级网址模式中:

from django.conf import settings

urlpatterns = patterns('',
    url(r'%sadmin' % settings.VIRTUAL_DIRECTORY),
)

为所有网址模式执行字符串模式。您只需要在站点级别urls.py执行此操作,而不是每个应用程序都这样做。这样,如果你有一个非空白的VIRTUAL_DIRECTORY,那么它会将它作为所有顶级网址模式的前缀。