我遇到一个问题,即在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的引用都在上线之前删除了。
答案 0 :(得分:6)
检查你的modpython配置,如果你有一个。可能有一行看起来像PythonOption django.root /mysite
删除它。
答案 1 :(得分:1)
您确定,这是渲染版本吗? Docs说,应该生成绝对网址,即/mysite/foo/bar
。你在浏览器中检查来源了吗?尝试打印出render_to_string
(或您正在使用的其他渲染功能)的结果,并检查是否添加了example.com。