色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

django-csrf使用和禁用方式

瀏覽:5日期:2024-10-20 18:11:48

orm表單使用csrf

a. 基本應用

form表單中添加

{% csrf_token %}

b. 全站禁用

# ’django.middleware.csrf.CsrfViewMiddleware’,

c. 局部禁用

’django.middleware.csrf.CsrfViewMiddleware’, from django.views.decorators.csrf import csrf_exempt @csrf_exempt def csrf1(request): if request.method == ’GET’: return render(request,’csrf1.html’) else: return HttpResponse(’ok’)

d. 局部使用

# ’django.middleware.csrf.CsrfViewMiddleware’, from django.views.decorators.csrf import csrf_exempt,csrf_protect @csrf_protect def csrf1(request): if request.method == ’GET’: return render(request,’csrf1.html’) else: return HttpResponse(’ok’)

ajax提交數據

Ajax提交數據時候,攜帶CSRF:

a. 放置在data中攜帶

<form method='POST' action='/csrf1.html'> {% csrf_token %} <input type='text' name='user' /> <input type='submit' value='提交'/> <a onclick='submitForm();'>Ajax提交</a></form><script src='https://rkxy.com.cn/static/jquery-1.12.4.js'></script><script> function submitForm(){ var csrf = $(’input[name='csrfmiddlewaretoken']’).val(); var user = $(’#user’).val(); $.ajax({ url: ’/csrf1.html’, type: ’POST’, data: { 'user':user,’csrfmiddlewaretoken’: csrf}, success:function(arg){console.log(arg); } }) }</script>

b. 放在請求頭中

<form method='POST' action='/csrf1.html'> {% csrf_token %} <input type='text' name='user' /> <input type='submit' value='提交'/> <a onclick='submitForm();'>Ajax提交</a></form><script src='https://rkxy.com.cn/static/jquery-1.12.4.js'></script><script src='https://rkxy.com.cn/static/jquery.cookie.js'></script><script> function submitForm(){ var token = $.cookie(’csrftoken’); var user = $(’#user’).val(); $.ajax({ url: ’/csrf1.html’, type: ’POST’, headers:{’X-CSRFToken’: token}, data: { 'user':user}, success:function(arg){console.log(arg); } }) }</script>

補充知識:在django的form表單及ajax提交的數據中添加認證的csrfmiddlewaretoken

1. 對于ajax提交數據,把下面的代碼加入到js的頭部,可以保證ajax執行時自動提交參數csrfmiddlewaretoken。

$.ajaxSetup({data: {csrfmiddlewaretoken: ’{{ csrf_token }}’ }});

2. 對于form表單提交數據,在表單內部加入{% csrf_token %}標簽,會自動生成一個input標簽

<form>{% csrf_token %}</form>

得到

<form><input name='csrfmiddlewaretoken' value='...' type='hidden'></form>

或者使用js添加:

$('#csrf_token').replaceWith('{% csrf_token %}');

3. 另外記錄一下使用模板過濾器處理form.field的方法

$('#{{ field.name }}').replaceWith(’{{ field|linebreaksbr }}’);$('.{{ field.name }}').text(’{{ field.errors|striptags }}’);{{ value|linebreaksbr }}: 'Joelnis a slug' => 'Joel<br>is a slug'{{ value|striptags }}: '<b>Joel</b> <button>is</button> a <span>slug</span>' => 'Joel is a slug'.

以上這篇django-csrf使用和禁用方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 国产极品喷水视频jk制服 | 亚洲精品国产一区二区三区在 | 欧美成人免费在线 | 成人午夜大片免费看爽爽爽 | 岬奈一区二区中文字幕 | 久久青草国产手机看片福利盒子 | 99久久久免费精品免费 | 99久在线观看| 欧美一区二区三区久久久人妖 | 九九国产在线观看 | 亚洲午夜精品久久久久久抢 | 毛片视频网站 | 国产精品1区 2区 3区 | 午夜在线亚洲 | 日本天堂视频在线观看 | 久久精品国产亚洲网站 | 国产欧美日韩精品第二区 | 美女一级免费毛片 | 中美日韩在线网免费毛片视频 | 久久久久久久久一级毛片 | 日韩精品一区二区三区中文字幕 | 久久精品视频网站 | 日本一区二区三区精品视频 | 一级生性活免费视频 | 亚洲毛片在线播放 | 久久精品亚洲乱码伦伦中文 | 亚洲第一男人天堂 | 91国语对白| 性色午夜视频免费男人的天堂 | 九九在线视频 | 国产免费一级在线观看 | 国产精品一区二区久久精品 | 免费观看欧美成人h | 99ri在线精品视频在线播放 | 久久久久久久久久久久久久久久久 | 豆国产97在线 | 亚洲 | 国产中文99视频在线观看 | 久久在线播放 | 亚洲人成综合网站在线 | 成人看的午夜免费毛片 | 亚洲美女高清aⅴ视频免费 亚洲美女黄色片 |