zoukankan      html  css  js  c++  java
  • DJANGO基础

    第一部分:

    Http协议:一种Http 短连接。

    请求头:
        connection: keep-alive (默认的)
        token: dbnsjandjsandjsandjsandjksa (自定义)
         :表示请求头数据到这里结束
    请求体:
      请求的内容
    响应部分

    响应的状态码:
    200  请求已成功

    403  服务器已经理解请求,但是拒绝执行它。

    404  请求失败,请求所希望得到的资源未被在服务器上发现,就是没有这个界面。

    500  服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。

    502 (bad gateway)作为网关或者代理工作的服务器尝试执行请求时,无效的响应,此时要寻找网络问题。

    响应体:(就是一大块字符串)
    用户用户看到的所有的内容

    第二部分:

    web重要的组成部分.

     a. socket服务,

      提供了服务器,我们的浏览器就是一个客户端,这就是cs框架。

     b. 路由系统:
      将 uri 就是浏览器后边的路径与处理逻辑函数进行对应。

     c. 模板引擎渲染
      将数据库中的数据与html进行相结合, 模板的渲染。渲染就是对mysql的数据和我们的html网页,通过js,jq技术进行的一个数据整合。

    第三部分:基础的django用法:

      第一个问题:如何将我们的数据,传入到我们的HTML页面中? 

    渲染的方式:
      后台:
        name = "字符串"
      前台(HTML端):

        {{name}}   解释:两个大于号包裹,我们的数据就可以在页面中使用,例如列表中的数据,这个针对于普通变量,字符串和整型

      列表:

      方式一:
        {% for item in mylist%}
          {{item}}
         {% endfor %}

       利用for来将数据一个个展示出来,注意展示的数据需要两个{{}}包裹,同时for循环只要一对,但是需要%号。
      方式二:按照索引来取值
        {{mylist.0}}
        {{mylist.1}}

      字典:可以通过for来进行取值,方式和列表一致。
        {% for key, val in mydict.items %}
          {{key}}       {{val}}
           {% endfor %}

      第二个问题:HTML页面中的数据,我们又要怎么传回来?一个重要的请求头,啥都有。
    url:
    request: 用户所有的请求信息:
    请求方式: request.method  


    获取post中的内容: request.POST.get('key')

    POST的话一般用一个表单:form表单里使用。

    <form action="/add_class/" method="post">
    班级名称: <input type="text" name="classname">
    <input type="submit" value="提交">
    </form>
    可以看到发送的格式是post,name确定我们的变量名,例如这里变量名为classname
     obj=request.POST.get('classname')
    这样我们就可以获取到我们要的值了。

    获取get中的内容 :request.GET.get('key')  

    准确的说:利用

    <a href="/del_class/?id={{ item.id }}">删除</a>
    利用这个?就赋值给了id变量,后端就可以进行使用,判断逻辑。

    重定向:
    redirect('/login/')   重定向,可以是一个路由,网页地址都可以跳转,当然会在原来页面直接进行跳转,不会新开的。

    小结:

      这里有三个函数,对于目前的很多功能,都会用到 

    render  :往回发一个静态页面,以及数据
    redirect:重定向,进行跳转
    HttpResponse:发回去一个字符串,会在页面显示。
    
    
     

     

  • 相关阅读:
    三维偏序(陌上花开)
    【题解】洛谷P4735最大异或和
    【题解】CF#229 E-Gifts
    【题解】JXOI2017颜色
    【题解】SDOI2009Bill的挑战
    【题解】CF#960 H-Santa's Gift
    【题解】Atcoder ARC#85 E-MUL
    【题解】CF#1012 C-Hill
    【题解】CF#852 E-Casinos and travel
    【题解】Atcoder ARC#90 F-Number of Digits
  • 原文地址:https://www.cnblogs.com/zhangte03/p/11166459.html
Copyright © 2011-2022 走看看