2013-10-21 76 views
0

我知道这是一个常见问题,但我在这里找到的答案都没有帮助我。 我想不出这里有什么问题(是的,我试着用',没有他们的网址)Python Django NoReverseMatch在模板中使用URL

这里是我到目前为止

模板:

<html> 
<body> 
<div> Link here </div> <a href="{% url 'index' %}">{{ formText }}</a> 
</body> 
</html> 

URL(自己的配置)

from django.conf.urls import patterns, include, url 
from metadaten import views 

urlpatterns = patterns('', 
    url(r'^$', views.index, name='index'), 
) 

根网址:

from django.conf.urls import patterns, include, url 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 

    url(r'^metadaten/', include('metadaten.urls', namespace='metadaten')), 
    url(r'^admin/', include(admin.site.urls)), 
) 

观点:

from django.http import HttpRequest, HttpResponse, HttpResponseRedirect 
from django.template import RequestContext, loader 
from django.shortcuts import render, get_object_or_404 
from metadaten.models import Title 
from django.core.urlresolvers import reverse 

def index(request): 
    return render(request, 'metadaten/index.html', {'formText' : 'foo'}) 

错误消息:

Reverse for 'index' with arguments '()' and keyword arguments '{}' not found. 

任何建议,我为什么不能建造使用{%URL%}一个简单的HREF?

请不要怪我,如果这个问题可能很容易弄清楚:(

+0

只是'{%url'index'%}'应该可以工作 – karthikr

+0

没有抱歉不起作用 – xhallix

+0

另外,如果您使用的是django 1.5之前版本,则不应该使用'index' '{%url index%}' – karthikr

回答

3

您使用的命名空间metadaten。你要使用{% url 'metadaten:index' %}

看看最后一个例子为url tag

+0

太棒了,你能不能告诉我为什么{%url'metadaten:index'formText%}不起作用? – xhallix

+0

'metadaten:index'不指望参数。如果你想包含一个参数,你需要将它包含在URL模式和视图中的索引函数中。请参阅https://docs.djangoproject.com/en/dev/topics/http/urls。 –

+0

非常感谢我会看看:) – xhallix