Django配置跨域并開發(fā)測試接口
1.跨域原理
1. 首先瀏覽器安全策略限制js ajax跨域訪問服務(wù)器
2. 如果服務(wù)器返回的頭部信息中有當(dāng)前域:
// 允許 http://localhost:8080 這個(gè)網(wǎng)站打開的頁面中的js訪問我Access-Control-Allow-Origin: http://localhost:8080// 允許攜帶cookie訪問我Access-Control-Allow-Credentials: true
那么, 瀏覽器可以讓js 請求該服務(wù)器
2.django cors設(shè)置:
1. 安裝包pip install django-cors-headers2. 注冊應(yīng)用INSTALLED_APPS = [...# 添加 django-cors-headers 使其可以進(jìn)行 cors 跨域’corsheaders’]3. 添加中間件MIDDLEWARE = [# 放在中間件第一個(gè)’corsheaders.middleware.CorsMiddleware’,...]4. 設(shè)置# CORS跨域請求白名單設(shè)置CORS_ORIGIN_WHITELIST = (’http://127.0.0.1:8080’,’http://localhost:8080’,)CORS_ALLOW_CREDENTIALS = True # 允許攜帶cookie
3.登錄接口測試
3.1 user/usrs.py 中配置路由
urlpatterns = [path(’login/’, views.login),]
3.2 user/views.py 中寫一個(gè)login視圖函數(shù)
from django.http import JsonResponseimport jsondef login(request):body_dict = json.loads( request.body )print(body_dict,8888888)name = body_dict.get(’name’)pwd = body_dict.get(’pwd’)if not all([name, pwd]):resp = {'code': 1001,'msg': ’信息不全’}return JsonResponse(resp)if name == ’zhangsan’ and pwd == ’123456’:resp = {'code': 0,'msg': ’登錄成功’,'data': {'id': 1,'name': ’張三’,'age': 18}}return JsonResponse(resp)return JsonResponse({'code': 1002,'msg': ’驗(yàn)證失敗’})
3.3 測試接口
1http://192.168.56.100:8888/user/login/
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 父div高度不能自適應(yīng)子div高度的解決方案2. 淺談XML Schema中的elementFormDefault屬性3. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)4. ASP中SELECT下拉菜單同時(shí)獲取VALUE和TEXT值的實(shí)現(xiàn)代碼5. servlet+jsp實(shí)現(xiàn)過濾器 防止用戶未登錄訪問6. ASP錯(cuò)誤捕獲的幾種常規(guī)處理方式7. 利用XMLSerializer將對象串行化到XML8. 選擇模式 - XSL教程 - 29. JSP狀態(tài)管理的簡單介紹10. 前端從瀏覽器的渲染到性能優(yōu)化
