首页 > 解决方案 > 如何从模板中的 view.py 渲染中调用我的 dict 参数?

问题描述

我已经为此工作了两天,并且阅读了几乎所有关于 stackoverflow 的示例并查阅了 django 文档。我正在尝试将我的 dict 从 views.py 传递给我的模板,但我不断收到愚蠢的“无法解析剩余部分”错误。我没有做任何花哨的事情。只是 Href 按钮传入一个参数来表示该按钮是什么。然后使用该参数作为字符串打开一个模板页面,以使新页面和 url 唯一。

通过:

<a href="{% url 'site:call' 1 %}" class="btn">Call</a>

网址.py

urlpatterns = [
     url(r'^call=(\d+)/$', views.call, name='call')
]

视图.py

def call(request, callID):
    call_id = { 'id':callID }
    return render(request, 'site/call.html', call_id)

调用模板

{% extends 'site/layout.html' %}
{% block content %}
{% with call_id.get('id') as view_id %}
<h3 class="center-align blue lighten-3">Site # Room {{ view_id }}</h3>
<a href="/site/cancel.html" class="btn">Cancel</a>
{% endwith %}

{% endblock %}

我已经尝试过 request.GET.get('id') 和其他数以亿计的东西。有人可以告诉我如何真正解析我传入的那些 dict 值吗?

标签: djangotemplatesdictionaryviewparameters

解决方案


您实际上根本没有传递字典。你正在传递一个值,id所以你应该使用它。并且不需要任何with块。

Site # Room {{ id }}

推荐阅读