reverse()引发AttributeError

2024-04-25 05:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图反转一个名为blog-home的命名url,但是不管我怎么做,它总是抛出一个带有'NoneType' object has no attribute 'rindex'描述的AttributeError。在

我尝试了reverse("blog-home")reverse("blogengine:blog-home")甚至reverse("admin:index")和{}来测试我的代码是否是问题所在。在

回溯:

Traceback (most recent call last):
  File "", line 1, in 
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 368, in reverse
    app_list = resolver.app_dict[ns]
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 241, in _get_app_dict
    self._populate()
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 208, in _populate
    for name in pattern.reverse_dict:
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 229, in _get_reverse_dict
    self._populate()
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 220, in _populate
    lookups.appendlist(pattern.callback, (bits, p_pattern))
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 169, in _get_callback
    mod_name, func_name = get_mod_func(self._callback_str)
  File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\urlresolvers.py", line 113, in get_mod_func
    dot = callback.rindex('.')
AttributeError: 'NoneType' object has no attribute 'rindex'

我真的不知道为什么会发生这种情况,尤其是我已经成功地在其他具有相同版本Python和Django的项目上使用了reverse,而到目前为止,我在其他地方还没有发现任何关于这个错误的信息。在

我的网址.py公司名称:

^{pr2}$

它是由这个导入的网址.py公司名称:

from django.conf.urls.defaults import patterns, include, url

from django.contrib import admin
admin.autodiscover()

from django.contrib.sitemaps import FlatPageSitemap

class FlatPageSitemap(FlatPageSitemap):
    changefreq = "daily"

sitemaps = {
    'flatpages': FlatPageSitemap,
}

import django.contrib.sitemaps.views
from . import blogengine

urlpatterns = patterns('',
    url(r'^', include(blogengine.urls)),
    url(r'^sitemap\.xml', django.contrib.sitemaps.views.sitemap, {'sitemaps': sitemaps}),
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

我最初打算在Django模板系统中使用url标记({% url blog-home %})。在


Tags: djangoinpycoreurladminegglib
1条回答
网友
1楼 · 发布于 2024-04-25 05:26:13

不要这样做:

url(r'^yadda/$', None)

如果在conf中指定一个URL,它必须绑定到某个东西。如果不想绑定它,就不要指定它。在

相关问题 更多 >