zoukankan      html  css  js  c++  java
  • [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),
    ]
    

  • 相关阅读:
    sql编码造成的安全问题(基于mysql8.0版本)
    [HY000] [2054] php连接mysql时错误
    jetbrains(phpstrom,webstorm等)破解
    XSS(二)
    XSS(一)
    ctf中rsa攻击方法
    扩展欧几里得算法证明及求乘法逆元
    mac泛洪攻击&arp欺骗(python脚本)
    Flutter 中 实现 单选对话框 和页面中实现单选框
    解决Flutter混合开发时 is not a readable directory 问题
  • 原文地址:https://www.cnblogs.com/iiiiiher/p/8336102.html
Copyright © 2011-2022 走看看