zoukankan      html  css  js  c++  java
  • 14 Jun 18 Django

    14 Jun 18

    一、内容回顾

    1. URL写法:127.0.0.1:8000/edit_publisher/?id=1&name=zhangzhao&age=16

       a. 用&连接多个条件

       b. ?前的/可以省略

       c. URL中不能有空格

     

    2. form表单中的action如果传空,默认返回当前页面。

       应用:对一些跳转页面,可以手动拼接id等信息,亦可传空,默认跳转

     

    3. 以编辑书籍为例, 如果method是POST执行一段代码,如果method不是POST执行另一段代码。

       通过连接直接跳转改路径/页面触发的不是POST方法;当在编辑书籍页面提交form表单触发的是POST方法。

     

    二、今日内容

    1. 删除、编辑书籍信息

     

    2. Django的模板语言(字符串替换的规则)

        1. {{变量}} {{变量.属性}}

     

        2. for循环

            {% for i in xx %}

                {{i}}

            {% endfor %}

     

            {{ forloop.counter }}  --> 计数

     

            {% empty %}  -->如果for循环的列表为空的时候显示的内容

     

        3. if判断

            {% if 条件%}

                条件成立要做的事儿

            {% else %}

                条件不成立要做的事儿

            {% endif %}

     

    3. 作者增删改查 (作者和书是多对多的关系book   author   book2author)

        1. 作者关联的书有多个 (我们怎么通过Django 的ORM 取到和我这个作者关联的所有书)

        author_obj.books --> none; 在author表中没有book列

        author_obj.books.all()   --> 该作者所著书籍对象的列表

        # 在html的模版语言中不加(),即用author_obj.books.all,django会自动帮忙处理拼接

     

        2. 如何在页面上展示出 我这个作者关联的所有的书籍

           # 在html的模版语言中不加(),即用author_obj.books.all,django会自动帮忙处理拼接

           

            {% for book in author_obj.books.all%}

            {% if forloop.last%}  #最后一个值

                {{book.title}}

            {% else %}

                {{book.title}},

            {%endif%}

            {% endfor %}

        

        3. 如何更新作业关联的书籍

           author.books.set(new_book_ids)

           # 该操作执行之后,会执行自动保存操作; 故,之后不需.save()手动保存

     

    4. 当出现黄页时,看trackback,标成深色的即为出错位置

     

    5. request.POST.get(),只能用于取一个值的情况

       request.POST.getlist(),可用于取多个值(以列表形式)。通常如果html中出现select multiple或checkbox的时候,可能会用到getlist

     

    6. 如果想设置默认跳转,在url中添加

       url(r'^$', views.publisher_list)

  • 相关阅读:
    SpringCloud------熔断与降级
    Linux中的defunct进程(僵尸进程)
    网站论坛收藏
    同步与阻塞,异步与非阻塞的区别
    Linux下批量杀掉筛选进程
    MapReduce运行原理和过程
    TF-IDF原理
    如何解决VMware 虚拟机不能铺满屏幕
    桥接和nat连接
    http: server gave HTTP response to HTTPS client & Get https://192.168.2.119/v2/: dial tcp 192.168.2.119:443: getsockopt: connection refused
  • 原文地址:https://www.cnblogs.com/zhangyaqian/p/py20180614.html
Copyright © 2011-2022 走看看