前后台分离开发
1.前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与跳转
2.后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口)
跨域
什么是跨域?
通常情况下,A网页访问B服务器时,不满足以下三个条件中,其中之一就是跨域访问:
1.协议不同;
2.端口不同;
3.主机不同
如何解决?
#安装django-cors-headers模块 #在settings.py中配置 #注册app INSTALLED_APPS = [ 'corsheaders' ] #添加中间件 MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware' ] #允许跨域源 CORS_ORIGIN_ALLOW_ALL = True
''' 前台代码 $.ajax({ url: 'http://127.0.0.1:8731/login/', type: 'post', data: { usr: 'abc', pwd: '123' }, success: function (data) { console.log(data); // 可以完成页面的局部刷新 } }) 后台代码 def login(request): # 假设数据库存放的用户信息为 abc:123 if request.method == 'POST': usr = request.POST.get('usr', None) pwd = request.POST.get('pwd', None) if usr == 'abc' and pwd == '123': return JsonResponse({'status': 'OK', 'usr': usr}) return JsonResponse({'status': 'error', 'usr': None}) '''