Django'str'对象不可调用

我在Django中创建URL视图时遇到问题。它给了我这个错误(ferrol是一个Space对象):

TypeError at /spaces/ferrol/

'str' object is not callable

Request Method: GET

Request URL: http://localhost:8000/spaces/ferrol/

Django Version: 1.2.3

Exception Type: TypeError

Exception Value:

'str' object is not callable

Exception Location: /usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/handlers/base.py in get_response, line 100

这是代码:

spaces / models.py

class Space(models.Model):

"""

Basic spaces model.

"""

name = models.CharField(_('Name'), max_length=100, unique=True)

description = models.TextField(_('Description'))

date = models.DateTimeField(auto_now_add=True)

logo = models.ImageField(upload_to='spaces/logos',

verbose_name=_('Logotype'))

banner = models.ImageField(upload_to='spaces/banners',

verbose_name=_('Banner'))

Main urls.py

urlpatterns = patterns('',

# Django administration

(r'^admin/', include(admin.site.urls)),

(r'^spaces/', include('apps.spaces.urls')),

(r'^static/(?P<path>.*)$', 'django.views.static.serve',

{'document_root': 'static'}),

)

if 'e_cidadania.apps.rosetta' in settings.INSTALLED_APPS:

urlpatterns += patterns('',

url(r'^rosetta/', include('apps.rosetta.urls')),

)

spaces / urls.py

urlpatterns = patterns('',

# Spaces

(r'^(?P<space_name>[-\w\./\s]+)/', 'view_space_index'),

)

spaces / views.py

def view_space_index(request, space_name):

"""

Show the index page for the requested space.

"""

place = get_object_or_404(Space, name=space_name)

return object_detail(request,

queryset = Space.objects.all(),

object_id = place.id,

template_name = 'spaces/index.html',

template_object_name = 'get_place')

回答:

在你的spaces / urls.py文件中,你必须提供查看方法的完整路径:

urlpatterns = patterns('',

# Spaces

(r'^(?P<space_name>[-\w\./\s]+)/', 'spaces.views.view_space_index'),

)

或像这样:

urlpatterns = patterns('spaces.views',

# Spaces

(r'^(?P<space_name>[-\w\./\s]+)/', 'view_space_index'),

)

以上是 Django&#39;str&#39;对象不可调用 的全部内容, 来源链接: utcz.com/qa/409908.html

回到顶部