• 正宗Django框架(Bootstrap 、Django母版、Cookie)


    一. Bootstrap 

    一个包含CSS和JS的一个代码库
        -- 样式

      -- 响应式 @media关键字

        --导航条

    @media(nin-768px){
        .header{
                    color:red
         }
    }

      --- 栅格(12分块,几种屏幕显示方式)

    除了.col-xs总是水平排列,其他开始是堆叠在一起的,当大于这些阈值时将变为水平排列
                <div style="background-color: #dddddd"> //大屏幕min-1170px
                    <div class="col-lg-1">左边</div>
                    <div class="col-lg-11">右边</div>
                </div>    
                <div style="background-color: #dddddd">
                //中屏幕min-970px
                    <div class="col-md-1">左边</div>
                    <div class="col-md-11">右边</div>
                </div>
                <div style="background-color: #dddddd">
                //小屏幕min-750px
                    <div class="col-sm-1">左边/div>
                    <div class="col-sm-11">右边</div>
                </div>
                <div style="background-color: #dddddd">
                //超小屏幕
                    <div class="col-xs-1">左边</div>
                    <div class="col-xs-11">右边</div>
                </div>                

      --- 手机屏幕的放大

    <meta name="viewport" content="width=device-width, initial-scale=1">    
    能缩放
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
    不能缩放

      --路径导航 

    <ol class="breadcrumb">
      <li><a href="#">Home</a></li>
      <li><a href="#">Library</a></li>
      <li class="active">Data</li>
    </ol>    

    2.  Django母版

    - Django母版:
        母版: 存放所有页面公用
        子板:
            继承母版
            - 自定义当前页面私有的东西
            {% extends "school.html" %}
            {% block css %}{% endblock %}
            {% block school %}{% endblock %}
            {% block js %}{% endblock %}                
                
            js调用   
            <script  type="text/javascript" src="/static/jquery-3.2.1.js"></script>

    3. Cookie

    a. 保存在浏览器端“键值对”
    b. 服务端可以向用户浏览器端写cookie
    c. 客户端每次方请求时,会携带cookie去
    
    应用:
        a. 投票
        b. 用户登录(一般应用)
        
    --清除浏览数据---清除Cookie--就不能不输密码登录了
    --阻止网站设置任何数据--客户端就不能接受服务端发送的Cookie了
    
    设置
    obj=redirect('/teachers/')
    obj=Httpresponse
    obj=render
    obj.set_cookie("ticket",'123123')
    return obj     #设置Cookie,返回给客户端,客户端再Network中查看,Cookie都是在请求头和响应头里面
    
    获取 request.Cookies.get("ticket)
    
    
    set_cookie(
        key, 
        value='', 
        max_age=None, 
        expires=None, 
        path='/',
        domain=None, 
        secure=False,         
        httponly=False )               
    
    max_age=None;Cookie的超时时间
    expires=None;Cookie的超时日期
    
    import datetime
    from datetime import timedelta     时间的加减,需要导入这个模块
    ct = datetime.datetime.utcnow()    当前日期
    v= timedelta(seconds=10)
    value = ct + v
    # obj.set_cookie('ticket',"asdasdsd",max_age=10)
    # obj.set_cookie('ticket',"asdasdsd",expires=value)
    
    
    path='/url'   设置指定url下设定的cookie下才生效
    
    domain=None,  指定域名下生效
    
    secure=False    ture与Https相关,如果是Https访问要改成ture
    
    httponly=False  ture只能自Http请求中传入,js代码无法获取到
    
    
    
    cookie签名:(加盐)
        obj.set_signed_cookie('ticket',"123123",salt='jjjjjj') 
        
        request.get_signed_cookie('ticket',salt='jjjjjj')
        
    自定制签名
    
    在配置文件中最后写入:SIGNING_BACKEND = "c1.MySigner"
    创建一个文件c1.py,通过继承定制自己的加密方式
        from django.core.signing import TimestampSigner
        class MySigner(TimestampSigner):
            def sign(self, value):
    
                return value+'123123123'
    
            def unsign(self, value, max_age=None):
    
                v = value[0:-8]
                return v

      

           

  • 相关阅读:
    t=20点击发送pingback
    Hibernate 序列生成主键
    oracle创建存储过程
    mysql允许某ip访问
    ORACLE用户解锁
    oracle查询锁表
    oracle杀掉执行的死循环存储过程
    oracle以逗号分隔查询结果列表
    查询oracle的session数
    oracle存储过程-获取错误信息
  • 原文地址:https://www.cnblogs.com/domestique/p/7077178.html
Copyright © 2020-2023  润新知