如何确保 url 在内置 Web 服务器和 Apache 中工作相同
情况是:
我在 windows xp 上有带有 mod_python 的 Apache,但我的 django 项目不在文档根目录中。
Django 项目位置是用标签定义的。 django.root 也在那里定义。
所有 url 在内置服务器中都可以正常工作,但不幸的是在 Apache 中却不行。 在某些网址中,尤其是那些不指向管理员的网址不起作用。 django.root 部分被切断。
我怎样才能避免这种情况?
一种解决方案是将 django-project 设置到 Apache 的文档根目录中。 还有其他解决方案吗?
The situation is:
I have Apache with mod_python on windows xp and my django project is not in the document root.
The Django project location is defined with the tag. The django.root ist also defined there.
All the urls work fine in the built-in server but unfortunately not in Apache. In some urls, especially the ones not pointing to the admin do not work. The django.root part gets cut off.
How can I avoid this ?
One solution could be to set the django-project into Apache's document-root. Are there other solutions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在模板文件中使用 {% url %} 标签 并调用 reverse() 。
它的值存储在 HttpRequest - request.META['SCRIPT_NAME'] 中,您也可以在模板中使用它:
Django will use the django.root part correctly if you compose links in the template files with {% url %} tags and by calling reverse() in your HTTPResponseRedirects() calls.
Its value is stored in HttpRequest - request.META['SCRIPT_NAME'] and you can use it also in templates with: