2015-08-09 51 views
0

我不得不使用django 1.4來使用neo4j,並且我收到一個奇怪的消息,即「accounts」不是已註冊的命名空間。這肯定是正確的,在根:NoReverseMatch不是註冊命名空間,django 1.4問題

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'),) 
在項目的根

我有模板/帳號/ index.html的,它看起來正確的,因爲TEMPLATE_DIRS點該文件夾。它具體地抱怨在:

return render(request, 'accounts/index.html', locals()) 

哪些不返回一個namspace,它返回一個模板名稱開始在模板文件夾。如果它是相關的,在賬戶中的應用程序(已安裝),我有:

urls.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不是註冊的命名空間?

回答

2

添加到您的基本HTML的頂部。

{% load url from future %} 
0

在1.4,似乎其他老版本,{% url 'accounts:register' %}是不允許......只需要{% url accounts:register %}