2

以下是设置:

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

    假设这是 domain.com/virtual/

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

问题

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

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

先感谢您

4

1 回答 1

1

我过去曾这样做过。

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

如果您正在开发或在它自己的站点域后面有这个,您可以将其保留为空白。

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

from django.conf import settings

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

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

于 2014-04-28T15:07:30.770 回答