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. 6 MVVM进阶

    1. 背景 MVVM是一种常用的设计模式,它的最主要功能是将数据与代码隔离,实现viewmodel的可测试.架构图如下: 2. 命令-Command 2.1 WPF 路由命令 WPF提供一种内置的命令 ...

  2. python代码实现抢票助手

    一. 代码使用Python+Splinter开发,Splinter是一个使用Python开发的开源Web应用测试工具,它可以帮你实现自动浏览站点和与其进行交互. 二. 安装好Python 3或2都可以 ...

  3. Aps.Net Core3.1 WebApi发送阿里云短信验证码

    1.前言 转眼又要过了一年了 好久没写博客了,人不学就要落后,今天有时间把以前弄的发送阿里云短信验证码登录记录一下. 2.准备条件 1)去阿里云官网注册一个账号.有账号直接登录就行,以前新人好像有免费 ...

  4. 剑指Offer-Python(16-20)

    16.合并另个排序链表 # -*- coding:utf-8 -*- class ListNode: def __init__(self, x): self.val = x self.next = N ...

  5. java小工具,使用Swing展示左树右表结构

    代码直接上: 入口类 import java.io.File; import java.util.ArrayList; import java.util.List; import org.json.J ...

  6. 类和对象在JVM中是如何存储的,竟然有一半人回答不上来!

    前言 这篇博客主要来说说类与对象在JVM中是如何存储的,由于JVM是个非常庞大的课题,所以我会把他分成很多章节来细细阐述,具体的数量还没有决定,当然这不重要,重点在于是否可以在文章中学到东西,是否对J ...

  7. MyBatis动态Sql之if标签的注意事项

    if标签的test属性必填,该属性值是一个符合OGNL要求的判断表达式,一般只用true或false作为结果. 判断条件property != null 或 property == null,适用于任 ...

  8. TCP粘包问题的解决方案01——自定义包体

      粘包问题:应用层要发送数据,需要调用write函数将数据发送到套接口发送缓冲区.如果应用层数据大小大于SO_SNDBUF,那么,可能产生这样一种情况,应用层的数据一部分已经被发送了,还有一部分还在 ...

  9. putty连接Linux(NAT)

    1.系统装好后第一次连的时候需要打开ssh服务 sudo apt-get install openssh-server 当在机器不能通过ping ip相通的话那么就要解决ip不同的问题,当ip相通还是 ...

  10. 在线调整ceph的参数

    能够动态的进行系统参数的调整是一个很重要并且有用的属性 ceph的集群提供两种方式的调整,使用tell的方式和daemon设置的方式 一.tell方式设置 调整配置使用命令: 调整mon的参数 #ce ...