Django preview, TypeError: 'str' object cannot be called

I am trying to make a preview function. I am reading this blog, Django Admin Preview , but now I have the following error and I don’t know what that means.

    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

I'm lost..

Edit:

Thanks guys / gals, here is my view.py and 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', )
+3
source share
2 answers

The signature for the function urlinside urlconf looks like this:

def url(regex, view, kwargs=None, name=None, prefix='')

You use only positional parameters, but pass only the regular expression, view and name. Therefore, Python considers your third parameter to be a dictionary kwargs, not a name.

Instead, do the following:

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

kwarg, Python .

+8

, . , urls.py - , . :

import default

url(r'^s(?:ite)?/search$', default.search, name="search"),

default.py

def search(request) :
    # do stuff
+2

Source: https://habr.com/ru/post/1717036/


All Articles