Django URL中显示站点名称
我遇到了一个问题,就是在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
的代码,把它删掉就行。