0

情况是:
我在 windows xp 上有带有 mod_python 的 Apache,而我的 django 项目不在文档根目录中。
Django 项目位置是用标签定义的。django.root 也在那里定义。
所有 url 在内置服务器中都可以正常工作,但不幸的是在 Apache 中不行。在某些 URL 中,尤其是那些不指向管理员的 URL 不起作用。django.root 部分被切断。
我怎样才能避免这种情况?

一种解决方案是将 django-project 设置为 Apache 的文档根目录。还有其他解决方案吗?

4

1 回答 1

1

如果您使用{% url %} 标记在模板文件中编写链接并在 HTTPResponseRedirects() 调用中调用reverse() , Django 将正确使用 django.root 部分。

它的值存储在 HttpRequest - request.META['SCRIPT_NAME'] 中,您也可以在模板中使用它:

    {% if user.is_staff %}
    <li>
        <a href="{{ request.META.SCRIPT_NAME }}/admin">Administration</a>
    </li>
    {% endif %}
于 2009-02-13T22:49:29.443 回答