Python NoReverseMatch不是注册的命名空间,django 1.4问题
我被迫使用django 1.4来使用neo4j,我得到一个奇怪的消息,“accounts”不是注册的名称空间。最肯定的是,就在这里的根:Python NoReverseMatch不是注册的命名空间,django 1.4问题,python,django,django-settings,django-1.4,Python,Django,Django Settings,Django 1.4,我被迫使用django 1.4来使用neo4j,我得到一个奇怪的消息,“accounts”不是注册的名称空间。最肯定的是,就在这里的根: from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^accounts/', include('accounts.u
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('accounts.urls', namespace='accounts')),
]
在settings.py中:
INSTALLED_APPS = (
...
'accounts',
)
TEMPLATE_DIRS = ( os.path.join(BASE_DIR, 'templates'), )
在projectroot中,我有templates/accounts/index.html,它看起来很正确,因为template\u dirs指向那个文件夹。它具体抱怨:
return render(request, 'accounts/index.html', locals())
它不是返回namspace,而是返回从templates文件夹开始的模板名称。如果相关,在已安装的帐户应用程序中,我有:
url.py-
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('accounts.views',
url(r'^$', 'index', name='index'),
url(r'^register/$', 'register', name='register'),
url(r'^login/$', 'user_login_page', name='login'),
url(r'^logout/$', 'user_logout', name='logout'),
)
为什么具有名称空间的内容导致NoReverseMatch不是注册的名称空间?在1.4中,似乎其他较旧的版本中,
{%url'帐户:注册“%}
是不允许的……只需要{%url帐户:注册%}
将其添加到基本html的顶部即可
{% load url from future %}