[py]django前台处理后端返回的各类数据

参考

要完成的任务

  • 返回str
  • 返回list
  • 返回arr
  • 前端遍历

关键字

if for语句处理str list dict




- 遍历字典 for语句
{% for key, value in info_dict.items %}
    {{ key }}: {{ value }}
{% endfor %}


- for特殊关键字
{% for item in List %}
    {{ item }}{% if not forloop.last %},{% endif %} 
{% endfor %}



变量                          描述
forloop.counter         索引从 1 开始算
forloop.counter0        索引从 0 开始算
forloop.revcounter      索引从最大长度到 1
forloop.revcounter0     索引从最大长度到 0
forloop.first           当遍历的元素为第一项时为真
forloop.last            当遍历的元素为最后一项时为真
forloop.parentloop	    用在嵌套的 for 循环中,获取上一层 for 循环的 forloop



- if语句
- 例子1
{% if var >= 90 %}
    成绩优秀,学堂你没少去吧!学得不错
{% elif var >= 80 %}
    成绩良好
{% elif var >= 70 %}
    成绩一般
{% elif var >= 60 %}
    需要努力
{% else %}
    不及格啊,大哥!多去学堂学习啊!
{% endif %}

- 例子2
{% if num <= 100 and num >= 0 %}
    num在0到100之间
{% else %}
    数值不在范围之内!
{% endif %}

- 例子3
{% if 'maotai' in List %}
    学堂在名单中
{% endif %}

系统自带关键字

{{ request.user }}          # 获取当前用户
{{ request.path }}          # 获取当前网址
{{ request.GET.urlencode }} # 获取当前GET参数

使用例子
<a href="{{ request.path }}?{{ request.GET.urlencode }}&delete=1">当前网址加参数 delete</a>

代码体现

views.py

def index(request):
    # 字符串
    string = '我是毛台'
    # 列表
    arr = ["maotai", 1998, 18]
    # 字典
    d = {'name': 'maotai', 'age': 22}
    return render(request, "index.html", {'string': string, 'arr': arr, 'd': d})

index.html

<!doctype html>
<html lang="en">
<head>
    <title>index</title>
</head>
<body>

<div>
    <h1>获取字符串</h1>
    str: {{ string }} <br>
</div>

<div>
    <h1>遍历列表</h1>
    list: {{ arr }}
    <hr>
    遍历:{% for foo in arr %}
    {{ foo }}
{% endfor %}
</div>

<div>
    <h1>遍历字典</h1>
    dict: {{ d.name }}
    <br>
    遍历:{% for k,v in d.items %}
    {% if k == "age" %}
        {{ k }} {{ v }}
    {% endif %}
{% endfor %}
</div>
</body>
</html>

urls.py

urlpatterns = [
    path('', views.index),
    path('admin/', admin.site.urls),
]

原文地址:https://www.cnblogs.com/iiiiiher/p/8336102.html