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 的数据校验。

      
      
  • 相关阅读:
    最新seo优化技巧
    5ucms 调用当前文章的评论,以及评论列表
    5ucms的评论列表该怎么写
    Data Structure Binary Tree: Check for Children Sum Property in a Binary Tree
    Data Structure Binary Tree: Level order traversal in spiral form
    Data Structure Binary Search Tree: Inorder Successor in Binary Search Tree
    Algorithm: bit manipulation
    Algorithm: pattern searching
    Algorithm: dynamic programming
    Algorithm: inversion
  • 原文地址:https://www.cnblogs.com/ttym88m/p/14439281.html
Copyright © 2011-2022 走看看