컨텍스트 프로세서를 사용하여 동적 세로 막대를 작성하려고합니다. 나는 데이터베이스 테이블에서 사이드 바에 대해 구별되는 값을 사용한다. 내가 코드 views.py에서Django 컨텍스트 프로세서 - 'str'개체를 호출 할 수 없습니다.
from clients.models import client
def sidebar(request):
return {'clientlist': client.objects.order_by('name').distinct('name')}
다음과 같습니다 : 모든 클라이언트 및 데이터가있는 테이블을 생성하는 데 사용
from django.shortcuts import render
from django.template import loader, RequestContext
from clients.models import client
def index(request):
allclientlist = client.objects.all()
return render (request, 'clients/index.html', {'allclientlist': allclientlist}, context_instance=RequestContext(request, processors=['sidebar']))
allclientlist
여기 내 상황에 맞는 프로세서입니다. I가 필요
def index(request):
allclientlist = client.objects.all()
clientlist = client.objects.order_by('name').distinct('name')
return render(request, 'clients/index.html', {'allclientlist': allclientlist, 'clientlist': clientlist})
그러나 모든보기에서 사용할 수있는이 메뉴를 만들기 위해 : 다음 나는 같은 때 그것은 일
Traceback:
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/root/projects/webapp/clients/views.py" in index
7. return render (request, 'clients/index.html', {'allclientlist': allclientlist}, context_instance=RequestContext(request, processors=['sidebar']))
File "/usr/local/lib/python2.7/site-packages/django/template/context.py" in __init__
179. self.update(processor(request))
Exception Type: TypeError at /clients/
Exception Value: 'str' object is not callable
역 추적 다음 상황에 맞는 프로세서 동적 사이드를 구축하고 얻으려고 모든보기에서 clientlist
선언이 있습니다. 나는 이것을 피하고 붙어 싶었다. 제발,이 오류를 찾을 수 있도록 도와주세요. 당신이 render
바로 가기를 사용할 때, 템플릿이 자동으로 요청 컨텍스트와 렌더링 - 당신이 원하는 경우
'processor' 또는'self.update'는 문자열입니다. 코드베이스에서 두 이름을 모두 검색하고 잘못 정의한 것을 찾아야합니다. –
'프로세서 = [ '사이드 바']'나에게 전화를 걸지 않습니다. 그것을 실제 함수로 바꾸면 작동 할거야 : – Wolph
하지만 내 실제 함수는 '사이드 바'이다. 나는 내 코드가 맞는지 아닌지 잘 모르기 때문에 djangobook에서이 코드를 가져왔다. – mattveiko