返回ORM目录 Django ORM 内容目录: 一.MTV与MVC模式 二.多对多表三种创建方式 三.前后端传输数据 四.Ajax ​ 五.批量插入数据 六.自定义分页器 一.MTV与MVC模式 MTV模型 Django就是基于MTV模型的框架,其中: M:模型层 models.py T:templates V:视图层 views MVC模型 M:模型层 models V:视图层 views C:控制器 controller 本质:django的MTV也是MVC 二.多对多表三种创建方式 第一…
在开发过程中会遇到这样的情况 后台返回了一堆的数据,是一个列表 例如 datas = [{"a":1, "b":2}, {"c": 3,"d":4}, {"c": 3,"d":4}, {"c": 3,"d":4}] 前端的html可以通过使用 <div id="test"> {% for data in datas…
前言 最近公司要求基于公司的hadoop平台做一个关于电信移动网络的数据分析平台,整个项目需求大体分为四大功能模块:数据挖掘分析.报表数据查询.GIS地理化展示.任务监控管理.由于页面功能较复杂,所以采用前后端分离方式开发.前端采用webpack+vue+vue-router+axios技术栈,后端用django进行开发.从搭建到上线,整个项目前前后后花了差不多一个月时间,中途也遇到一些问题,不过还好都解决了.由于是个人项目,所以我打算把源码贡献出来大家一起讨论学习. 源代码 后端:https:…
第一阶段: 1.版本控制器:Git      2.pip安装源换国内源    3.虚拟环境搭建        4.后台:Django项目创建 5.数据库配置              6.luffy前端搭建Vue         7.前后台站点配置    8.前端主页 9.后端home应用的创建    10.分离的前后台交互.跨域问题解决 第二阶段: 1.Git线上操作         2.分离的前后台交互-前后端跨域处理           3.静态接口配置 4.home数据库设计    5.…
一.python3的安装 1.安装python前的库环境: yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y 2.下载,解压安装源码包 wget https://www.python.…
一.问题背景 之前使用django+vue进行前后端分离碰到跨域请求问题,跨域(域名或者端口不同)请求问题的本质是由于浏览器的同源策略导致的,当请求的响应不是处于同一个域名和端口下,浏览器不会接受响应,同源策略也是浏览器针对请求的安全问题所作出的一种保护行为.针对跨域问题,可以有下面的解决方式: JSONP方式 自定义中间件,设置响应头 使用django-cors-headers包 二.解决方式 (一)自定义中间件 JSONP本质上是利用html的一些不受同源策略影响的标签属性src,例如:<a…
vue+drf的前后端分离部署笔记 前端部署过程 端口划分: vue+nginx的端口 是81 vue向后台发请求,首先发给的是代理服务器,这里模拟是nginx的 9000 drf后台运行在 9005端口上 1.获取前端代码 wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip 2.解压缩,准备编译前端代码 unzip 07-luffy_project_01.zip 3.下node源码,配置nodejs编译环境 wge…
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了.于是我们的程序就不知道谁是谁,就要再验证一次.所以为了保证系统安全,我们就需要验证用户否处于登录状态. 传统方式 前后端分离通过Restful API进行数据交互时,如何验证用户的登录信息及权限.在原来的项目中,使用的是最传统也是最简单的方式,前端登录,后端根据用户信息生成一个token,并保存这个 to…
一.Ajax介绍 1.概述 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即:使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,比如还有JSON). 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求: 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第…
1.ajax登录示例 urls.py from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^login_ajax/$', views.login_ajax, name='login_ajax'), url(r'^index/$', views.index, n…
1 跨域问题(多个域之间的数据访问) #同源策略(ip port 协议全部相同) #本站的只能请求本站域名的数据 #CORS实现(跨域资源共享) #实现CORS通信的关键是服务器.只要服务器实现了CORS接口,就可以跨源通信. #CORS基本流程 #1_CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request) #2_满足一下为简单请求 (1) 请求方法是以下三种方法之一: HEAD GET POST (2)HTTP的头信息不超出以下…
vue-resource post数据 参考:https://www.cnblogs.com/linxizhifeng/p/8995077.html 阅读django CsrfViewMiddleware源码可知,csrftoken可以放在请求参数(csrfmiddlewaretoken)里面或者请求头(X-CSRFToken)里: # Check non-cookie token for match. request_csrf_token = "" if request.method…
目录 vue的安装 Vue前端的设置 页面的分布 后台数据的替换 css样式 Django的配置 国际化配置 axios插件安装 CORS跨域问题(同源策略) 处理跨域问题: cors插件 axios提交数据给后台 拼接参数 params:{} 数据包参数data:{} Django中设置数据 media相关 admin中注册使用 前端接受数据 前端渲染单个汽车界面 element插件安装 bootstrap插件的使用 Vue代码 vue的安装 ## 环境 附带安装pnm npm换源 脚手架 快…
一个根据用户id查找用户信息的简单功能,使用JSON进行数据的传输 前端代码 这里用bootstrap做简单的样式美化,中间留了个div用来异步的显示查询结果,ajax进行前端的数据传输(class内容可以无视,只有美化效果): <form class="form-horizontal" > <label for="firstname" class="col-sm-2 control-label">用户ID</lab…
一.前端--->后端 1.form表单 <form method="post" action="/test/?a=1&b=2"> {% csrf_token %} <input type="text" name="user"> <input type="submit" value="提交"> </form> #后台可以通过re…
本项目实现了任务执行的实时进度查询 实现方式 前端websocket + 后端websocket + 后端redis订阅/发布 实现原理 任务执行后,假设用变量num标记任务执行的进度,然后将num发布为订阅的消息保存到redis队列,比如 redis_helper.public('当前任务进度为 %s' %num),django的websocket视图在特定频道订阅消息num并利用websocket协议将消息实时推送到前端,完成前端实时进度展示. 实现代码 redis订阅/发布: class…
在开始项目之前,假设你已了解以下知识:webpack配置.vue.js.django.这里不会教你webpack的基本配置.热更新是什么,也不会告诉你如何开始一个django项目,有需求的请百度,相关的文章已经很多了. 下面开始一步一步构建完整的项目: 1.开发环境准备 win7 x64 python 3.4 Django 1.10.8 node.js 4.4.3 2.python相关包安装 建议创建python虚拟环境进行安装. pip install virtualenvpip instal…
在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect   一.HttpRequest捕获请求 捕获请求——HttpRequest对象 1.属性 HttpRequest.scheme  #一个字符串,表示请求的方案(通常是http或者https)HttpRequest.body    #一个字节字符串,表示原始HTTP请求的正文HttpRequest.path    #一个字符串,表示请…
Django 前后台的数据传递 严正声明:作者:psklf出处: http://www.cnblogs.com/psklf/archive/2016/05/30/5542612.html欢迎转载,但未经作者同意,必须保留此段声明:必须在文章中给出原文连接:否则必究法律责任!   Django 从后台往前台传递数据时有多种方法可以实现. 最简单的后台是这样的: from django.shortcuts import render def main_page(request): return re…
Python Django 之 前端向后端发送数据…
参考:https://blog.csdn.net/zhangmengran/article/details/84887206 目的: 使用serializer序列化器将QuerySet数据序列化为json数据,用django restframework开发后端接口将此json数据返回 serializer序列化1.主要是序列化数据,将QuerySet集合中的ORM对象序列化成json字符串,作为接口数据返回(json格式) 一.编写models.py from django.db import…
一.同源策略 1.先来说说什么是源 • 源(origin)就是协议.域名和端口号. 以上url中的源就是:http://www.company.com:80 若地址里面的协议.域名和端口号均相同则属于同源. 以下是相对于 http://www.a.com/test/index.html 的同源检测 • http://www.a.com/dir/page.html ----成功 • http://www.child.a.com/test/index.html ----失败,域名不同 • https…
一 content-Type代表的是,传输数据的编码方式 当ajax,JS向后台发起请求的时候,常常会设置content-type,告知服务器前台传输的数据是什么编码方式 1 application/x-www-form-urlencoded(ajax,form默认) 提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 会进行了 URL 转码.大部分服务端语言都对这种方式有很好的支持.Java可以通过Request.getParameter("ke…
前面已经将项目环境搭建好了,下面进入实战环节.这里挑选项目中涉及到的几个重要的功能模块进行讲解. celery执行异步任务和任务管理 Celery 是一个专注于实时处理和任务调度的分布式任务队列.由于本项目进行数据分析的耗时比较长,所以采用异步方式执行任务.本项目中Broker使用redis,Result Backend使用django的数据库,部分配置如下settings.py(具体配置见项目代码): import djcelery djcelery.setup_loader() BROKER…
Demo:  hello_pycharm 根目录文件:hello_pycharm [__init__.py  __pycache__  settings.py  urls.py  wsgi.py] App:hello [admin.py  apps.py  __init__.py  migrations  models.py  tests.py  urls.py  views.py  __pycache__ ] 模板文件:templates 根路由urls中: from django.conf.…
部署静态文件: 静态文件有两种方式1:通过django路由访问2:通过nginx直接访问 方式1: 需要在根目录的URL文件中增加,作为入口 url(r'^$', TemplateView.as_view(template_name="index.html")), 在setting中更改静态资源位置 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path…
根据这个链接https://stackoverflow.com/a/26639895 这是一个django的跨域访问问题. django,会对合法的跨域访问做这样的检验,cookies里面存储的'csrftoken',和post的header里面的字段"X-CSRFToken'作比较,只有两者匹配,才能通过跨域检验.否则会返回这个错误:CSRF Failed: CSRF token missing or incorrect----------------版权声明:本文为CSDN博主「LoHiau…
项目需求 本项目从impala获取到的数据为用户地理位置数据,每小时的数据量大概在8000万条,数据格式如下: 公司要求对这些用户按照聚集程度进行划分,将300米范围内用户数大于200的用户划分为一个簇,并计算这个簇的中心点和簇的边界点. 附模拟的数据:https://files.cnblogs.com/files/dotafeiying/test.zip 实现原理 下面我们来一步一步实现上述需求: 1.将用户按照聚集程度进行划分 我们可以选择基于密度的聚类算法DBscan算法,DBSCAN算法…
项目中有一处功能需求是:需要在历史数据查询页面进行查询字段的选择,然后由后台数据库动态生成对应的excel表格并下载到本地. 如果文件较小,解决办法是先将要传送的内容全生成在内存中,然后再一次性传入Response对象中: 如果文件较大时,我们可以考虑向HttpResponse传递一个迭代器,流式的向客户端传递数据. view.py视图 @csrf_exempt def exportData(request): format = request.GET.get('format') pk = re…
99%的人都理解错了HTTP中GET与POST的区别(转自知乎)   作者:Larry链接:https://zhuanlan.zhihu.com/p/22536382来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网…