Python   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【django入门】 03 模板语法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

变量值从views.py传入html

  • 基本语法
    • {{ abc }}
      变量abc外,用双大括号包裹

    • {% for item in abc %}
      语句外,用大括号+百分号包裹

1. 传递字符串@H_197_19@
  • views.py中,def内
    注意views.py外部变量(str1)不需要引号包裹,*.html内部变量(strHtml)需要引号包裹
def index(request):
	str1 = "someValue"
	return render(request, 'index.html', {"strHtml1": str})
  • index.html中,<body>内
<div>{{ strHtml1 }}<div>

2. 传递列表@H_197_19@
  • views.py中,def内
def index(request):
    list1 = ["someValue1", "someValue2","someValue3"]
    return render(request, 'index.html', {"listHtml1": list1})
  • index.html中,<body>内
<div>
    {% for item in listHtml1 %}
        {{ item }}
    {% endfor %}

    <div>{{ listHtml1.0 }}</div>
    <div>{{ listHtml1.1 }}</div>
    <div>{{ listHtml1.2 }}</div>
</div>
  • 效果

    【django入门】 03 模板语法


3. 传递字典@H_197_19@
  • views.py中,def内
def index(request):
    Dict1 = {"key1": "someValue1", "key2": "someValue2", "key3": "someValue3"}
    return render(request, 'index.html', {"DictHtml1": Dict1})
  • index.html中,<body>内
<div>
    {% for k in DictHtml1.keys %}
        {{ k }}
    {% endfor %} <br><br><br>


    {% for v in DictHtml1.values %}
        {{ v }}
    {% endfor %} <br><br><br>


    {% for k,v in DictHtml1.items %}
        <div>{{ k }}={{ v }}</div>
    {% endfor %} <br><br><br>

    <div>{{ DictHtml1.key1 }}</div>
    <div>{{ DictHtml1.key2 }}</div>
    <div>{{ DictHtml1.key3 }}</div>
</div>
  • 效果

4. 传递列表中的字典@H_197_19@
  • views.py中,def内
def index(request):
    list_info = [
        {"name": "zhang", "age": 14, "province": "hunan"},
        {"name": "li", "age": 15, "province": "tianjin"},
        {"name": "tian", "age": 16, "province": "shanghai"},
    ]
    return render(request, "index.html", {"listHtml1": list_info})
  • index.html中,<body>内
<div>{{ listHtml1.1 }}</div>
<div>{{ listHtml1.1.name }}</div>
<div>{{ listHtml1.1.age }}</div><br>


{% for item in listHtml1 %}
    <div>{{ item.name }} : {{ item.age }} : {{ item.province }}</div>
{% endfor %} <br>

<ul>
{% for item in listHtml1 %}
    <li>  {{ item.name }} : {{ item.age }} : {{ item.province }}   </li>
{% endfor %}
</ul> <br>
  • 效果

    【django入门】 03 模板语法


  • 附加知识:django html条件语句
{% if strHtml1 == "abc" %}
……
{% elif strHtml1 == "def" %}
……
{% else %}
……
{% endif %}

总结

  • {{ }}、{% %} 这些替换字符串,会被django在渲染html时替换,因而不会被终端用户看见
  • @H_725_3@mosh(一个老外)的经验,尽量在views.py里写条件语句,写在html里会造成代码界面混乱

来源:BV1NL41157 武沛齐《2022 B站最详细django3教程(django从入门到实践)》P10

大佬总结

以上是大佬教程为你收集整理的【django入门】 03 模板语法全部内容,希望文章能够帮你解决【django入门】 03 模板语法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: