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:发回去一个字符串,会在页面显示。
    
    
     

     

  • 相关阅读:
    EasyHook库系列使用教程之四钩子的启动与停止
    inputclean插件的使用方法
    机器学习(十三)——机器学习中的矩阵方法(3)病态矩阵、协同过滤的ALS算法(1)
    &lt;LeetCode OJ&gt; 204. Count Primes
    leetcode 235: Lowest Common Ancestor of a Binary Search Tree
    数据结构经常使用算法
    调侃物联网开源框架,我们什么时候也来开源一个?
    字符编码简单介绍
    PriorityQueue ,ArrayList , 数组排序
    从struts2.1开始Convention零配置
  • 原文地址:https://www.cnblogs.com/zhangte03/p/11166459.html
Copyright © 2011-2022 走看看