Python 如何在django中遍历数字
我是Django的新手。我只想根据用户提供的详细信息制作一份在线简历。 我有单独的HTML文件用于获取用户输入和显示简历。 我将认证字段的用户输入如下:Python 如何在django中遍历数字,python,html,django,Python,Html,Django,我是Django的新手。我只想根据用户提供的详细信息制作一份在线简历。 我有单独的HTML文件用于获取用户输入和显示简历。 我将认证字段的用户输入如下: <div class="box"><input type="text" name="certificate1" placeholder="Certificate-name"> <input type="text" n
<div class="box"><input type="text" name="certificate1" placeholder="Certificate-name"> <input type="text" name="institute1" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate2" placeholder="Certicate-name"> <input type="text" name="institute2" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate3" placeholder="Certicate-name"> <input type="text" name="institute3" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate4" placeholder="Certicate-name"> <input type="text" name="institute4" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate5" placeholder="Certificate-name"> <input type="text" name="institute5" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate6" placeholder="Certicate-name"> <input type="text" name="institute6" placeholder="Institute-name"></div><br>
certificates = [
{ "certificate": certificate1, "institute": institute1},
{ "certificate": certificate2, "institute": institute2}
]
{% for c in certificates %}
<li>{{c.certificate}}, {{c.institute}}</li>
{% endfor %}
我为在简历中显示认证而编写的代码如下:
if(request.method=="POST"):
dictionary = {str(i):request.POST[i].capitalize() for i in request.POST}
return render(request,"form/resume.html",dictionary)
{% if certificate1 %}
<li>{{certificate1}}, {{institute1}}</li>
{% endif %}
{% if certificate2 %}
<li>{{certificate2}}, {{institute2}}</li>
{% endif %}
{% if certificate3 %}
<li>{{certificate3}}, {{institute3}}</li>
{% endif %}
{% if certificate4 %}
<li>{{certificate4}}, {{institute4}}</li>
{% endif %}
{% if certificate5 %}
<li>{{certificate5}}, {{institute5}}</li>
{% endif %}
{% if certificate6 %}
<li>{{certificate6}}, {{institute6}}</li>
{% endif %}
{%if certificate1%}
{{certificate1}},{{institute1}}
{%endif%}
{%if certificate2%}
{{certificate2}},{{institute2}}
{%endif%}
{%if证书3%}
{{certificate3}},{{institute3}}
{%endif%}
{%if证书4%}
{{certificate4}},{{institute4}}
{%endif%}
{%if证书5%}
{{certificate5}},{{institute5}}
{%endif%}
{%if证书6%}
{{certificate6}},{{institute6}}
{%endif%}
但我觉得我写的在简历中显示证书的代码[第二个代码]效率不高。有没有其他方法来编写第二个代码?我想知道,如果可能,我们如何使用for loop。或者还有别的办法吗?提前感谢您宝贵的回答。您可以将所有数据分组到一个数组中,并将其传递到渲染函数中,这样您就可以在Jinja模板中对其进行迭代。您可以将所有数据分组到一个数组中,并将其传递到渲染函数中,这样您就可以在Jinja模板中对其进行迭代。将证书作为列表发送给模板如下:
<div class="box"><input type="text" name="certificate1" placeholder="Certificate-name"> <input type="text" name="institute1" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate2" placeholder="Certicate-name"> <input type="text" name="institute2" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate3" placeholder="Certicate-name"> <input type="text" name="institute3" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate4" placeholder="Certicate-name"> <input type="text" name="institute4" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate5" placeholder="Certificate-name"> <input type="text" name="institute5" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate6" placeholder="Certicate-name"> <input type="text" name="institute6" placeholder="Institute-name"></div><br>
certificates = [
{ "certificate": certificate1, "institute": institute1},
{ "certificate": certificate2, "institute": institute2}
]
{% for c in certificates %}
<li>{{c.certificate}}, {{c.institute}}</li>
{% endfor %}
然后在模板中,按如下方式显示:
<div class="box"><input type="text" name="certificate1" placeholder="Certificate-name"> <input type="text" name="institute1" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate2" placeholder="Certicate-name"> <input type="text" name="institute2" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate3" placeholder="Certicate-name"> <input type="text" name="institute3" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate4" placeholder="Certicate-name"> <input type="text" name="institute4" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate5" placeholder="Certificate-name"> <input type="text" name="institute5" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate6" placeholder="Certicate-name"> <input type="text" name="institute6" placeholder="Institute-name"></div><br>
certificates = [
{ "certificate": certificate1, "institute": institute1},
{ "certificate": certificate2, "institute": institute2}
]
{% for c in certificates %}
<li>{{c.certificate}}, {{c.institute}}</li>
{% endfor %}
{%c在证书%}
{{c.certificate},{c.institute}
{%endfor%}
将证书作为列表发送到模板,如下所示:
<div class="box"><input type="text" name="certificate1" placeholder="Certificate-name"> <input type="text" name="institute1" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate2" placeholder="Certicate-name"> <input type="text" name="institute2" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate3" placeholder="Certicate-name"> <input type="text" name="institute3" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate4" placeholder="Certicate-name"> <input type="text" name="institute4" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate5" placeholder="Certificate-name"> <input type="text" name="institute5" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate6" placeholder="Certicate-name"> <input type="text" name="institute6" placeholder="Institute-name"></div><br>
certificates = [
{ "certificate": certificate1, "institute": institute1},
{ "certificate": certificate2, "institute": institute2}
]
{% for c in certificates %}
<li>{{c.certificate}}, {{c.institute}}</li>
{% endfor %}
然后在模板中,按如下方式显示:
<div class="box"><input type="text" name="certificate1" placeholder="Certificate-name"> <input type="text" name="institute1" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate2" placeholder="Certicate-name"> <input type="text" name="institute2" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate3" placeholder="Certicate-name"> <input type="text" name="institute3" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate4" placeholder="Certicate-name"> <input type="text" name="institute4" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate5" placeholder="Certificate-name"> <input type="text" name="institute5" placeholder="Institute-name"></div><br>
<div class="box"><input type="text" name="certificate6" placeholder="Certicate-name"> <input type="text" name="institute6" placeholder="Institute-name"></div><br>
certificates = [
{ "certificate": certificate1, "institute": institute1},
{ "certificate": certificate2, "institute": institute2}
]
{% for c in certificates %}
<li>{{c.certificate}}, {{c.institute}}</li>
{% endfor %}
{%c在证书%}
{{c.certificate},{c.institute}
{%endfor%}
尝试使用数组,以便轻松地对其进行迭代。
或者如果你只是想这样写
对变量名使用字符串连接,如:
{% for x in '123456' %}
{% with y=forloop.counter|stringformat:"s" %}
{% with names="certificate"|add:y %}
{% if names %}
<li> {{name}} </li>
{% endif %}
{% endwith %}
{% endwith %}
{% endfor %}
{%x在'123456%}
{%y=forloop.counter | stringformat:“s”}
{%with names=“certificate”|添加:y%}
{%if name%}
{{name}}
{%endif%}
{%endwith%}
{%endwith%}
{%endfor%}
有关更多信息,请参见此:
尝试使用数组,以便轻松地遍历它。 或者如果你只是想这样写 对变量名使用字符串连接,如:
{% for x in '123456' %}
{% with y=forloop.counter|stringformat:"s" %}
{% with names="certificate"|add:y %}
{% if names %}
<li> {{name}} </li>
{% endif %}
{% endwith %}
{% endwith %}
{% endfor %}
{%x在'123456%}
{%y=forloop.counter | stringformat:“s”}
{%with names=“certificate”|添加:y%}
{%if name%}
{{name}}
{%endif%}
{%endwith%}
{%endwith%}
{%endfor%}
有关更多信息,请参见此:
我使用了许多领域,如技能、教育、成就、项目细节等。对于每个领域,我最多有5个答案。因此,我只是使用views.py文件中的for循环将它们存储在字典中。请检查一下我编辑的问题。我使用了很多领域,如技能、教育、成就、项目细节等。对于每个领域,我最多有5个答案。因此,我只是使用views.py文件中的for循环将它们存储在字典中。请检查一下我编辑的问题。我使用了很多领域,如技能、教育、成就、项目细节等。对于每个领域,我最多有5个答案。因此,我只是使用views.py文件中的for循环将它们存储在字典中。请检查我编辑的问题一次。@VallamkondaNeelima即使这样,您也可以使用列表进行迭代,并在其中添加字典作为列表元素,如下所示:
dictionary=[{str(i):request.POST[i].capitalize()}for i in request.POST]
。这将允许在模板中使用循环。我使用了许多领域,如技能、教育、成就、项目细节等。对于每个领域,我最多有5个答案。因此,我只是使用views.py文件中的for循环将它们存储在字典中。请检查我编辑的问题一次。@VallamkondaNeelima即使这样,您也可以使用列表进行迭代,并在其中添加字典作为列表元素,如下所示:dictionary=[{str(i):request.POST[i].capitalize()}for i in request.POST]
。这将允许在模板中使用循环。正如我所看到的,您已经编辑了问题。。。您正在将dict发送到模板。因此,使用for循环迭代。{%for key,certificates.items%}{{key}}{{value}}{%endfor%}中的值,但现在certificate1不是一个变量,而是一个字符串--“certificate1”您编写的上述代码显示certificate1 certificate2 certificate3等,但不显示views.py中提供的值,因为我看到您编辑了问题。。。您正在将dict发送到模板。因此,使用for循环迭代。{%for key,certificates.items%}{{key}}{{value}}{%endfor%}但是现在certificate1不是一个变量,它是一个字符串--“certificate1”,您编写的上述代码显示certificate1 certicate2 certificate3等等,而不是views.py中提供的值