我正在尝试渲染表单和项目列表。目标是在表单下方输出一个帐户列表。
我认为这是:
return render(request, 'add_user_accounts.html',
{'form': form},
{'accounts': account},
context_instance=RequestContext(request))
我收到此错误:
Exception Value: render() got multiple values for keyword argument 'context_instance'
我的HTML:
{% block content %}
{% load staticfiles %}
<script type="text/javascript" src="{% static 'jquery.js' %}"></script>
{% include 'autocomplete_light/static.html' %}
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Add account" />
<input type="hidden" name="next" value="{{ next }}" />
</form>
{% for account in accounts %}
<li>{{ account }}</li>
{% endfor %}
{% endblock %}
答案 0 :(得分:1)
您必须使用一个dict将参数传递给渲染函数。
return render(request, 'add_user_accounts.html',
{'form': form,
'accounts': account},
context_instance=RequestContext(request))
您收到此错误是因为您首先将表单dict作为上下文参数传递,而不是将帐户作为context_instance参数传递,而不是尝试再次传递context_instance参数。您也可以简单地删除context_instance参数。来自docs:
不推荐使用context_instance参数。只需使用上下文。
完整文档: render
答案 1 :(得分:0)
试试这个;
return render(request, 'add_user_accounts.html',
{'form': form,
'accounts': account})
你必须删除它; ,context_instance=RequestContext(request)