Django配置跨域并開(kāi)發(fā)測(cè)試接口
1.跨域原理
1. 首先瀏覽器安全策略限制js ajax跨域訪問(wèn)服務(wù)器
2. 如果服務(wù)器返回的頭部信息中有當(dāng)前域:
// 允許 http://localhost:8080 這個(gè)網(wǎng)站打開(kāi)的頁(yè)面中的js訪問(wèn)我 Access-Control-Allow-Origin: http://localhost:8080 // 允許攜帶cookie訪問(wèn)我 Access-Control-Allow-Credentials: true
那么, 瀏覽器可以讓js 請(qǐng)求該服務(wù)器

2.django cors設(shè)置:
1. 安裝包 pip install django-cors-headers 2. 注冊(cè)應(yīng)用 INSTALLED_APPS = [ ... # 添加 django-cors-headers 使其可以進(jìn)行 cors 跨域 'corsheaders' ] 3. 添加中間件 MIDDLEWARE = [ # 放在中間件第一個(gè) 'corsheaders.middleware.CorsMiddleware', ... ] 4. 設(shè)置 # CORS跨域請(qǐng)求白名單設(shè)置 CORS_ORIGIN_WHITELIST = ( 'http://127.0.0.1:8080', 'http://localhost:8080', ) CORS_ALLOW_CREDENTIALS = True # 允許攜帶cookie
3.登錄接口測(cè)試
3.1 user/usrs.py 中配置路由
urlpatterns = [
path('login/', views.login),
]
3.2 user/views.py 中寫一個(gè)login視圖函數(shù)
from django.http import JsonResponse
import json
def 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 測(cè)試接口
1http://192.168.56.100:8888/user/login/

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python list和str互轉(zhuǎn)的實(shí)現(xiàn)示例
這篇文章主要介紹了Python list和str互轉(zhuǎn)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python?torch.onnx.export用法詳細(xì)介紹
這篇文章主要給大家介紹了關(guān)于Python?torch.onnx.export用法詳細(xì)介紹的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07
python?實(shí)現(xiàn)?pymysql?數(shù)據(jù)庫(kù)操作方法
這篇文章主要介紹了python實(shí)現(xiàn)pymysql數(shù)據(jù)庫(kù)操作方法,文章基于python的相關(guān)內(nèi)容展開(kāi)對(duì)?pymysql?數(shù)據(jù)庫(kù)操作方法的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-04-04
python進(jìn)程池Pool中apply方法與apply_async方法的區(qū)別
這篇文章主要介紹了python進(jìn)程池Pool中apply方法與apply_async方法的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
全網(wǎng)最簡(jiǎn)約的Anaconda+Python3.7安裝教程Win10
這篇文章主要介紹了全網(wǎng)最簡(jiǎn)約的Anaconda+Python3.7安裝教程Win10,圖文講解全流程安裝方法,還不會(huì)的小伙伴快來(lái)看看吧2023-03-03
Python內(nèi)建模塊struct實(shí)例詳解
這篇文章主要介紹了Python內(nèi)建模塊struct實(shí)例詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
Python大批量寫入數(shù)據(jù)(百萬(wàn)級(jí)別)的方法
這篇文章主要給大家介紹了關(guān)于Python大批量寫入數(shù)據(jù)(百萬(wàn)級(jí)別)的相關(guān)資料,在日常處理數(shù)據(jù)的過(guò)程中,我們都有批量寫入數(shù)據(jù)的需求,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考下2023-07-07
pytorch預(yù)測(cè)之解決多次預(yù)測(cè)結(jié)果不一致問(wèn)題
這篇文章主要介紹了pytorch多次預(yù)測(cè)結(jié)果不一致的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06

