1.跨越原理

1. 首先浏览器安全策略限制js ajax跨域访问服务器

2. 如果服务器返回的头部信息中有当前域: 

// 允许 http://localhost:8080 这个网站打开的页面中的js访问我

Access-Control-Allow-Origin: http://localhost:8080

// 允许携带cookie访问我

Access-Control-Allow-Credentials: true

那么, 浏览器可以让js 请求该服务器

2.django cors设置:

1. 安装包

pip install django-cors-headers
2. 注册应用 INSTALLED_APPS = [

...

# 添加 django-cors-headers 使其可以进行 cors 跨域

'corsheaders' ]

3. 添加中间件

MIDDLEWARE = [

# 放在中间件第一个    'corsheaders.middleware.CorsMiddleware',

...

]

4. 设置

# CORS跨域请求白名单设置

CORS_ORIGIN_WHITELIST =(

'http://127.0.0.1:8080',

'http://localhost:8080',

)

CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

3.1 user/usrs.py中配置路由

urlpatterns = [

path('login/', views.login),

]

3.2 user/views.py中写一个login视图函数

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": '验证失败'

})

3.3测试接口

http://192.168.56.100:8888/user/login/

day3(django配置跨域)的更多相关文章

  1. django配置跨域并开发测试接口

    1.创建一个测试项目 1.1 创建项目和APP django-admin startproject BookManage # 创建项目 python manage.py startapp books ...

  2. 02.django配置跨域并开发测试接口

    1.创建一个测试项目   1.1 创建项目和APP   '''1.创建项目和APP''' django-admin startproject BookManage # 创建项目 python mana ...

  3. django允许跨域请求配置

    django允许跨域请求配置 下载corsheader pip install django-cors-headers 修改setting.py中配置 在INSTALLED_APPS中增加corshe ...

  4. Django 处理跨域的配置、前台处理ajax

    一. Django处理跨域 跨域的处理方式有很多,使用最多的就是CORS(跨域资源共享),接下来大致提一下django中处理跨域的配置. 首先安装django-cors-headers模块: pip ...

  5. System.Web.Http.Cors配置跨域访问的两种方式

    System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心 ...

  6. WebApi使用cors配置跨域问题

    1.首先安装CORS,在WebApiCors项目上面使用Nuget搜索“microsoft.aspnet.webapi.cors”,安装第一个 2.当我们安装这个包之后,现有的packages目录下会 ...

  7. ASP.NET MVC4应用程序配置跨域访问

    开发框架是使用webapi做后台,HTML5做前台,通过ajax调用webapi后台,返回json结果. 用的编译器是visual Studio2013,下面是配置方法 1.web.config文件 ...

  8. nginx配置跨域、gzip加速、代理详细讲解

    1.配置跨域 这个很简单,直接打开配置nginx.conf ,在http下配置下面三行代码:当然如果你是想某一个虚拟主机下跨域,那就在哪个server下面添加 add_header Access-Co ...

  9. eclipse加速/Nginx配置跨域代理

    下班时间到啦! --下班都是他们的,而我,还是什么都没有. eclipse加速 去掉包含js文件的包的js验证,否则每次启动都需要进行校验(右击项目->properties) Nginx配置跨域 ...

随机推荐

  1. yum安装报睡眠错误的解决方法

    可能是系统自动升级正在运行,yum在锁定状态中.可以通过强制关掉yum进程:#rm -f /var/run/yum.pid然后就可以使用yum了.

  2. python动态规划

    动态规划: 动态规划表面上很难,其实存在很简单的套路:当求解的问题满足以下两个条件时, 就应该使用动态规划:        主问题的答案 包含了 可分解的子问题答案 (也就是说,问题可以被递归的思想求 ...

  3. vue 格式化日期

    cnpm install moment --save 摘自:https://www.cnblogs.com/zwq20134/p/11718034.html <el-table-column l ...

  4. 浅析TCP协议---转载

    https://cloud.tencent.com/developer/article/1150971 前言 说到TCP协议,相信大家都比较熟悉了,对于TCP协议总能说个一二三来,但是TCP协议又是一 ...

  5. 查找数组中第k大的数

    问题:  查找出一给定数组中第k大的数.例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8-- 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]. 2. ...

  6. 【webSokect】基于django Channels的简单实现

    # settings.py: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.con ...

  7. SpringBoot微服务框架

    springboot 是什么? 配置如何编写 yaml 自动装配原理 集成Web开发 集成数据库Druid 分布式开发:Dubbo(RPC)+zookeeper swagger:接口文档 任务调度 S ...

  8. Android自定控件基础(一)——几何图形绘制

    虽然本人有几年开发经验,但是自定义控件这一块儿,研究的很少,惭愧--用到的时候就是百度查找,复制粘贴.工时紧,总是想的快点完工就好.(都是借口啦,想学总会有时间哒) 作为一个Android开发 要说自 ...

  9. 从头学起Verilog(一):组合逻辑基础与回顾

    引言 该部分主要回顾了本科时数字电路中组合逻辑电路部分,内容相对简单和基础. 内容主要包括:布尔代数相关知识,卡诺图,最大项与最小项,竞争和冒险以及一些常见模块 数字电路中的逻辑 组合逻辑:输出可以表 ...

  10. 这 12 款 IDEA 插件你用过几款?

    搞 Java开发用什么软件,当然是神器idea了,那么,idea的插件对于你来说就是必不可少的了,不仅可以提高自己的编码效率,还可以减轻工作时的枯燥烦闷.接下来就来说说,我平时敲代码用的什么插件吧. ...