Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django显示来自GET请求的数据_Python_Django_Response_Jinja2 - Fatal编程技术网

Python Django显示来自GET请求的数据

Python Django显示来自GET请求的数据,python,django,response,jinja2,Python,Django,Response,Jinja2,假设我有一个GET请求,下面的代码显示了请求的格式 例如: /?title1=xxx&message1=xxx&file1=xxx&...&titleN=xxx&messageN=xxx&fileN=xxx 上面的示例显示来自GET请求的数据 我如何遍历GETrequest的列表,并在它自己的div上显示每个'requestN' 当然,这需要使用jinja模板和django 我实际上找到了只显示两个参数的解决方案 {% for key, val

假设我有一个
GET
请求,下面的代码显示了请求的格式

例如:

/?title1=xxx&message1=xxx&file1=xxx&...&titleN=xxx&messageN=xxx&fileN=xxx

上面的示例显示来自
GET
请求的数据

我如何遍历
GET
request的列表,并在它自己的div上显示每个'requestN'

当然,这需要使用jinja模板和django

我实际上找到了只显示两个参数的解决方案

{% for key, value in GET.items %}
        {% if forloop.counter0|divisibleby:2 %}
                {% include "title_snippet.html" with title=value %}
        {% else %}
                {%  include "message_snippet.html" with message=value %}
        {% endif %}

{% endfor %}
此解决方案仅显示两个参数的数据。但我希望它对N个参数有效

?titre1=titre1&?message1=message1&?titre2=titre2&?message2=message2

我不认为这个问题可以在模板方面轻松解决。在呈现模板时,需要添加一些逻辑

在控制器端

def myview(request):
    values = []
    for key, value in request.GET.items():
        if key.startswith("title"):
            product = {}
            index_value = key.replace("title","")
            product["title"] = key
            if request.GET.get("message"+index_value):
                product["message"] = request.GET["message"+index_value]
                values.append(product)

    return render_to_response("template.html", {"all_values":values})
在模板方面,比如

{% for value in all_values %}
    <div >
         {% include "title_snippet.html" with title=value.title %}
         {%  include "message_snippet.html" with message=value.message %}
    </div>
{% endfor %}
{%for value in all_values%}
{%include“title_snippet.html”,title=value.title%}
{%include“message_snippet.html”,message=value.message%}
{%endfor%}

我看不到在模板方面可以轻松解决这个问题。在呈现模板时,需要添加一些逻辑

在控制器端

def myview(request):
    values = []
    for key, value in request.GET.items():
        if key.startswith("title"):
            product = {}
            index_value = key.replace("title","")
            product["title"] = key
            if request.GET.get("message"+index_value):
                product["message"] = request.GET["message"+index_value]
                values.append(product)

    return render_to_response("template.html", {"all_values":values})
在模板方面,比如

{% for value in all_values %}
    <div >
         {% include "title_snippet.html" with title=value.title %}
         {%  include "message_snippet.html" with message=value.message %}
    </div>
{% endfor %}
{%for value in all_values%}
{%include“title_snippet.html”,title=value.title%}
{%include“message_snippet.html”,message=value.message%}
{%endfor%}

解决此问题的一种方法是使用正则表达式在views.py中的iterable dict中对请求参数进行排序,并在模板端进行排序

{% for i in all_values %}
<p>
      {% if 'title' in i.keys.0 %}
                {{ i.values.0 }}
      {% endif %}
</p>
{% endfor%}
{i在所有_值中的百分比%}

{%i.keys.0%}
{{i.values.0}
{%endif%}

{%endfor%}
解决此问题的一种方法是使用正则表达式在views.py中的iterable dict中对请求参数进行排序,并在模板端进行排序

{% for i in all_values %}
<p>
      {% if 'title' in i.keys.0 %}
                {{ i.values.0 }}
      {% endif %}
</p>
{% endfor%}
{i在所有_值中的百分比%}

{%i.keys.0%}
{{i.values.0}
{%endif%}

{%endfor%}
您可能希望将GET请求中的数据规范化为元组列表,如
[(title1,message1),(title2,message2),(title3,message3),…]
并将其传递给要呈现的模板。您可能希望将GET请求中的数据规范化为元组列表,如
[(title1,message1),(title2,message2),(title3,message3),…]
并将其传递给要呈现的模板。代码中存在一些问题。首先,forloop值和value={}之间存在冲突。此外,在模板中,所有_值而不是my_值都无法获取第一部分。为第二部分更新。for键,请求中的值。get.items():您在第3行中使用了value变量。在第4行中,您创建了一个名为value={}的字典。您的代码中存在一些问题。首先,forloop值和value={}之间存在冲突此外,在模板中,所有的_值而不是我的_值都无法获取第一部分。第二部分已更新。for键,request.get.items()中的值:您在第3行中使用了value变量。在第4行中,您创建了一个名为value={}的字典