Django预览,TypeError:'str'对象不可调用

Asi*_*nox 3 django django-templates django-admin

我正在尝试制作预览功能.我正在阅读这个博客,Django Admin Preview,但现在我有以下错误,我不知道这意味着什么.

    Traceback (most recent call last):

     File "/home/user/webapps/django/lib/python2.5/django/core/handlers/base.py", line 92, in get_response
       response = callback(request, *callback_args, **callback_kwargs)

    TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)

我迷路了..

编辑:

谢谢伙计们/ gals,这是我的view.py和url.py:

    from diligencia.diligencias.views import preview

    url(r'^admin/diligencias/diligencia/(?P<object_id>\d+)/preview/$','preview'),
    (r'^admin/(.*)', admin.site.root),

    from diligencia.diligencias.models import Diligencia

    @staff_member_required
    def preview(request, object_id):
        return object_detail(request, object_id=object_id,queryset=Diligencia.objects.all(), template_object_name = 'diligencia_detail.html', )
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 8

urlurlconf中函数的签名如下:

def url(regex, view, kwargs=None, name=None, prefix='')
Run Code Online (Sandbox Code Playgroud)

您只使用位置参数,但只传递正则表达式,视图和名称.所以Python认为你的第三个参数是kwargs字典,而不是名字.

相反,这样做:

url(r'^admin/diligencias/diligencia/(?P<object_id>\d+)/preview/$', name='preview'),
Run Code Online (Sandbox Code Playgroud)

将名称作为kwarg传递,以便Python正确识别它.