我将'url'模板标记应用于我当前Django项目中的所有链接。
我的网址名称如此......
url(r'^login/$', 'login', name='site_login'),
这允许我访问/登录我的站点的根目录。我的模板标签定义如此......
<a href="{% url site_login %}">
它工作正常,除了,Django会自动将该网址解析为 / myprojectname / login ,而不是 / login 。两个网址都可以访问。为什么?是否有删除项目名称的选项?所有url标记都会出现这种情况,而不仅仅是这个。
答案 0 :(得分:3)
显然,我的apache2配置存在问题。我基本上复制了django网站上的指令,只做了一个小修改:
http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#basic-configuration
我改为,所以我的Django项目将在我网站的根目录中提供。
我不得不从django.root选项中删除'/ mysite'。我的最终输出看起来像这样,在django.root之后没有任何值:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root
PythonDebug On
</Location>
为了记录,我正在运行:
Django 1.0 Apache 2.2 mod_python 3.3.1(我想...... :)) Ubuntu Hardy 8.04.4
从这里复制:http://groups.google.com/group/django-users/msg/5e79ed1e694a3776
答案 1 :(得分:0)
在你的网址中,django比其他网站更早遇到这个网址模式。
由于网址解析是逐个完成的,只需在主要网址中移动主要网址,然后在主要网址中移动urls.py