zoukankan      html  css  js  c++  java
  • Django配置文件static文件夹与 csrf

    1.静态文件控制 ,在static中使用

      setting.py的配置

        

      STATIC_URL = '/static/'
      STATICFILES_DIRS = [
      os.path.join(BASE_DIR, 'static')
      ]


    2.网页中的使用情况 static 文件夹下面要配置bootstrap 与jquery文件。引用路径如下图所示。
      
      {% load static %}
        <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
        <script type="text/javascript" src="{% static 'jquery-3.3.1/jquery-3.3.1.min.js' %}" ></script>
        <script type="text/javascript" src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}" >

      </script>

    3.如何使用csrf 的校验,不用配置settings.py中的 使用。
    3.1. 创建一个js文件夹。如mysetup.js,里面的脚步内容如下:
      
    function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie !== '') {
    var cookies = document.cookie.split(';');
    for (var i = 0; i < cookies.length; i++) {
    var cookie = jQuery.trim(cookies[i]);
    // Does this cookie string begin with the name we want?
    if (cookie.substring(0, name.length + 1) === (name + '=')) {
    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
    break;
    }
    }
    }
    return cookieValue;
    }
    var csrftoken = getCookie('csrftoken');


    function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
    }

    $.ajaxSetup({
    beforeSend: function (xhr, settings) {
    if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
    xhr.setRequestHeader("X-CSRFToken", csrftoken);
    }
    }
    });


    3.2 前台html中如何使用
    在head标签内
      {% load static %}
     <script type="text/javascript" src="{% static 'js/mysetup.js' %}" ></script>

    添加上述语句后,就可以使用csrf 的数据校验。

      
      
  • 相关阅读:
    div minheight
    tomcat启动时doc窗口一闪而过的解决方法
    积分题05012014
    LaTeX技巧001:LaTeX中输入大小写罗马数字
    积分题1之来自G.Han的一道积分题
    LaTeX测试
    header函式的使用
    PHP中如何调用webservice
    在C++Builder中开发CGI的一点点体会
    PHP教程.经验技巧(中)
  • 原文地址:https://www.cnblogs.com/ttym88m/p/14439281.html
Copyright © 2011-2022 走看看