2

我正在将“url”模板标签应用于当前 Django 项目中的所有链接。

我的网址是这样命名的......

url(r'^login/$', 'login', name='site_login'),

这允许我在我的站点的根目录访问 /login。我的模板标签是这样定义的......

<a href="{% url site_login %}">

它工作正常,除了Django 自动将该 url 解析为/myprojectname/login,而不是/login。两个网址都可以访问。为什么?是否有删除项目名称的选项?这发生在所有 url 标签上,而不仅仅是这个。

4

2 回答 2

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

于 2010-04-23T21:57:01.747 回答
0

在你的 url conf 中,django 比另一个更早地遇到这个 url 模式。

由于 url 解析是一一完成的,因此只需在主 urls.py 中包含之前移动主登录

于 2010-02-03T05:43:16.287 回答