2013-08-05 26 views
0

我是新的Django,我收集所有的靜態和模板從管理網站進行自定義。現在我試圖從管理站點將查詢集呈現給change_list.html。
view.py
Django類型錯誤 - 呈現爲字符串得到多個值的關鍵字參數context_instance

def person_list(request): 
    if request.method == 'GET': 
     qs = Person.objects.all() 
     return render(request, 'admin/change_list.html', {'app_label': 'clients'}, {'results_list':qs}) 
    else: 
     return render(request, 'admin/change_list.html') 

而且我得到這種類型的錯誤:

render_to_string() got multiple values for keyword argument 'context_instance' 

以下是完整的回溯:

Environment: 


Request Method: GET 
Request URL: http://localhost:8000/clients/persons/ 

Django Version: 1.5.1 
Python Version: 2.7.4 
Installed Applications: 
('django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'equipment', 
'workers', 
'clients', 
'rents', 
'bills', 
'pays') 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware') 


Traceback: 
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 
    115.       response = callback(request, *callback_args, **callback_kwargs) 
File "/home/facundo/dev/BLPServicios/blpservicios/clients/views.py" in persona_list 
    9.   return render(request, 'admin/change_list.html', {'app_label': 'clients'},  {'results_list':qs}) 
File "/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py" in render 
    53.  return HttpResponse(loader.render_to_string(*args, **kwargs), 

Exception Type: TypeError at /clients/persons/ 
Exception Value: render_to_string() got multiple values for keyword argument 'context_instance' 

你能幫助我解決這個?謝謝!

回答

1

我認爲你正在使用的管理模塊做一些它不能發送值...你想幹什麼?

我想你最好不用管理員來做。通常自定義它比自己實現代碼更加痛苦,因爲它的複雜性!

特別是,您在管理自定義變量change_list.html(第91行)中看到的{% result_list cl %}標記不是模板變量(您試圖在上下文中傳遞),而是模板自定義標記!無論你想要做什麼,這是錯誤的路徑;)

+0

我想使用管理員模板和管理站點的所有靜態數據。顯示來自同一模型的不同列表,列出某些連接查詢結果,重新排列添加表格的字段 –

+0

django管理模塊沒有做到這一點。你可以設法做到這一點,但它可能會是一個巨大的黑客攻擊,比自己創建一個Django應用程序更不優雅,更不可持續。 – caesarsol

+1

非常感謝!我會製作我自己的模板 –

2

嘗試在一個字典

{'app_label': 'clients', 'results_list':qs} 
+0

我也試試它,但我得到NoReverseMatch錯誤'反向'app_list'的參數'()'和關鍵字參數'{u'app_label':''} '找不到'。' –

+0

因此,我嘗試創建一個覆蓋change_list.html的{{block block result_list%}}模板的模板,該模板遍歷查詢集「{%extends」admin/change_list.html「%} {%block result_list% } {%for result_list%} {{p}} {%endfor%} {%endblock%}' –

相關問題