0

我做了很多次,它奏效了,但这次不行。

当我尝试使用 {% url path.to.view %} django 的模板标签时出现此错误:

/login/ 'str' 对象的 AttributeError 没有属性 'regex'


urls.py(主要)

urlpatterns= patterns('', (r'', include('authenticate.urls')),  )

urls.py(我的应用程序)

urlpatterns= patterns('authenticate.views', url(r'^login/$','login'),)

登录.html

{{ form }}
{% url authenticate.views.login %} < --- Error comes here

在意见中:

return render_to_response('login.html',{'form':form},context_instance=RequestContext(request),  )

也不适用于:

 {% url authenticate.views.login %}
 {% url 'authenticate.views.login' %}
 {% url "authenticate.views.login" %}

这是在 django 1.4 上;我可能做错了什么,或者我在那个版本的 django 中错过了什么?

提前致谢!


更新:

我还可以补充一点,在我的视图中使用 reverse 不起作用,并给我上面的相同错误:

from django.core.urlresolvers import reverse

result = reverse('django.contrib.auth.views.password_reset')         
HttpResponse(result)

错误:

/abc/ 'str' 对象的 AttributeError 没有属性 'regex'

4

2 回答 2

0

检查这个 https://docs.djangoproject.com/en/1.4/topics/http/urls/

您可以在 URL 中添加名称以帮助引用。还要检查你是如何声明模式的。应该这样做:

urlpatterns = patterns('',
    url(r'^archive/(\d{4})/$', archive, name="full-archive"),
    url(r'^archive-summary/(\d{4})/$', archive, {'summary': True}, "arch-summary"),
) 
于 2012-11-20T13:21:09.620 回答
0

我得到了它 :))

问题不在 url 模板标签中,而在另一个 urls 文件中,该文件已包含在主文件中;直到我的应用程序才出现问题。点击 url 模板标签或 django 的 reverse 方法,否则,django 不会抱怨任何 url!

于 2012-11-25T09:42:09.900 回答