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

  
  
原文地址:https://www.cnblogs.com/ttym88m/p/14439281.html