在html中渲染多个项目

时间:2015-11-26 18:50:11

标签: django django-views

我正在尝试渲染表单和项目列表。目标是在表单下方输出一个帐户列表。

我认为这是:

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 %}

2 个答案:

答案 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)