我正在尝试制作预览功能。我正在阅读这个博客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
我迷路了..
编辑:
谢谢大家/女孩,这是我的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', )
答案 0 :(得分:8)
urlconf中url
函数的签名如下:
def url(regex, view, kwargs=None, name=None, prefix='')
您仅使用位置参数,但仅传递正则表达式,视图和名称。所以Python认为你的第三个参数是kwargs
字典,而不是名字。
相反,这样做:
url(r'^admin/diligencias/diligencia/(?P<object_id>\d+)/preview/$', name='preview'),
将名称作为kwarg传递,以便Python正确识别它。
答案 1 :(得分:2)
我怀疑你的观点不是一个功能。确保urls.py
中的参数是一个带有一个参数的函数。喜欢:
import default
url(r'^s(?:ite)?/search$', default.search, name="search"),
然后你有default.py
def search(request) :
# do stuff