tutorial - views django example
El objeto django ''str'' no se puede llamar (1)
Tengo un problema para crear una vista de URL en django. Me da este error (ferrol es un objeto espacial):
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
Aquí está el código:
espacios / 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''))
Urls.py principal
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'')),
)
espacios / urls.py
urlpatterns = patterns('''',
# Spaces
(r''^(?P<space_name>[-/w/.//s]+)/'', ''view_space_index''),
)
espacios / 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'')
En su archivo spaces / urls.py, debe proporcionar la ruta completa para ver el método:
urlpatterns = patterns('''',
# Spaces
(r''^(?P<space_name>[-/w/.//s]+)/'', ''spaces.views.view_space_index''),
)
O así:
urlpatterns = patterns(''spaces.views'',
# Spaces
(r''^(?P<space_name>[-/w/.//s]+)/'', ''view_space_index''),
)