我有一个模板perfil.html并希望将其发送给它:
return render_to_response('perfil.html', query_data, context_instance=RequestContext(request), {'pseudonimo': usuario.pseudonimo,'seguidores': seguidores(usuario.pseudonimo), 'sigue':sigue(usuario.pseudonimo), 'posts':"En pruebas"})
但它不起作用。这是我的错误:
Request Method: GET
Request URL: http://localhost:8000/mi_perfil/
Django Version: 1.8
Exception Type: SyntaxError
Exception Value: non-keyword arg after keyword arg (views.py, line 181)
Exception Location: /home/rebecca/DSI/pretec/pretec/urls.py in <module>, line 3
Python Executable: /home/rebecca/DSI/env-pretec/bin/python
Python Version: 2.7.3
如果我这样做:
return render(request,'perfil.html', {'pseudonimo': usuario.pseudonimo,'seguidores': seguidores(usuario.pseudonimo), 'sigue':sigue(usuario.pseudonimo), 'posts':"En pruebas"})
它有效,如果我这样做:
return render_to_response('perfil.html', query_data, context_instance=RequestContext(request))
它也可以,但我想在render_to_response
中包含两个选项这是我在views.py中的功能:
def mi_perfil(request):
usuario = Usuario.objects.get(pseudonimo = request.session['member_id'])
query = Usuario.objects.all()
query_data = {
"user_data" : query
}
print query_data
return render_to_response('perfil.html', query_data, context_instance=RequestContext(request), {'pseudonimo': usuario.pseudonimo,'seguidores': seguidores(usuario.pseudonimo), 'sigue':sigue(usuario.pseudonimo), 'posts':"En pruebas"})
我做错了什么?我该如何解决?
答案 0 :(得分:3)
Django非常清楚地告诉你你的错误
Exception Value: non-keyword arg after keyword arg (views.py, line 181)
关键字arg(context_instance=....
)后面有一个非关键字参数(该字典)
至于如何修复,呃,你能不能......将这首字典粘贴到你的上下文中?您只能使用一个上下文字典(请参阅https://docs.djangoproject.com/en/1.8/topics/http/shortcuts/)
def mi_perfil(request):
usuario = Usuario.objects.get(pseudonimo = request.session['member_id'])
query = Usuario.objects.all()
context = {
"user_data" : query
'pseudonimo': usuario.pseudonimo,
'seguidores': seguidores(usuario.pseudonimo),
'sigue':sigue(usuario.pseudonimo),
'posts':"En pruebas",
}
print context
return render_to_response('perfil.html', context,context_instance=RequestContext(request))
答案 1 :(得分:-1)
试试这个:
return render_to_response('perfil.html', query_data, context_instance=RequestContext(request), dictionary={'pseudonimo': usuario.pseudonimo,'seguidores': seguidores(usuario.pseudonimo), 'sigue':sigue(usuario.pseudonimo), 'posts':"En pruebas"})