Django URL中显示站点名称

3 投票
2 回答
583 浏览
提问于 2025-04-15 19:12

我遇到了一个问题,就是在Django中调用url模板标签时,它会把网站名称加上去(我不想要这个)。

假设网站名称是'mysite'。

比如说:

<a href="{% url myapp.views.myview "myparam" %}">Link text</a>

生成的结果是:

<a href="/mysite/foo/bar">Link text</a>

而我想要的结果是:

<a href="/foo/bar">Link text</a>

我的urls.py文件是这样设置的:

from django.conf.urls.defaults import *
import mysite.myapp.views

urlpatterns = patterns('',
    (r'^/foo/bar/$', 'mysite.myapp.views.myview'),
)

有没有人能给我指个方向?

补充一下 - 当这个网站在开发阶段时,它是在一个测试服务器的子目录下,应用程序也是在这个子目录里!所以它的地址是 http://www.mytestserver.com/mysite。没有使用缓存,并且在上线之前已经去掉了所有/mysite的引用。

2 个回答

1

你确定这是渲染后的版本吗?文档上说,应该生成一个绝对网址,也就是像 /mysite/foo/bar 这样的格式。你在浏览器中查看源代码了吗?试着打印出 render_to_string(或者你正在使用的其他渲染函数)的结果,看看里面是否也包含了 example.com。

6

检查一下你的modpython配置,如果你有的话。可能会有一行像这样 PythonOption django.root /mysite 的代码,把它删掉就行。

撰写回答