Django
一匹脱缰的野马
一匹脱缰的野马
展开
-
Django出现‘No changes detected’报错的解决办法
今天在执行数据库迁移的时候出现下面的错误 ,这个问题直接影响到后台admin的使用。这时查找了好几种办法找到一种简单办法解决这种问题。执行下面的命令,article是我的app的名字。然后执行迁移命令,只时候执行成功了。这时后台可以正常使用。...原创 2019-08-16 13:58:17 · 32586 阅读 · 1 评论 -
Django 类视图
在之前的学习当中,我们使用函数作为处理请求的视图,直接、明了。但是,django只给GET和POST提供了快速的请求数据接收的方法,对于其他方法没有详细的介绍,于是在后来引进了视图类的概念。类视图需要我们来编写,可以把get,post,put等方法写到类视图中。这种方法的好处在于可以节约url,这样在url中写一个path就能指出多种访问方式。简单的类视图编写示例如下类视图的编写需要...原创 2019-07-20 14:37:08 · 204 阅读 · 0 评论 -
Django如何使用COOKIE与SESSION
Cookie和session的比对Cookie放在用户本地,session存在服务器数据库当中校验cookie速度比较快,但安全性不够好校验session速度比较慢,安全性相对好关于cookiehttp协议是无状态的,无法记录用户的身份,所以需要有一种类似通关文牒的机制来长期保存和校验用户的身份,最先出现的是cookie。Cookie是由服务器下发到用户本地(浏...原创 2019-07-17 21:37:20 · 275 阅读 · 0 评论 -
Django中ajax的post请求使用示例
Ajax_post请求,涉及到post请求就会遇到csrf问题,ajax的post请求,同样需要发生csrf_token。相比较get请求,post请求: 需要一字典格式整合数据 需要一个csrf_token,键必须是csrfmiddlewaretoken 其他部分和get请求类似需要一个页面<!DOCTYPE html><html la...原创 2019-07-17 14:40:21 · 1505 阅读 · 0 评论 -
Django中ajax的get请求使用示例
普通请求普通请求:会携带整个页面提交,最明显特征是刷新页面,并且请求可能阻塞整个服务。这样会导致请求内容和响应内容冗余,用户体验差。基于这些问题出现了ajax请求。AJAX请求Ajax介绍:asynchronousJavascript and xml(异步JS 和 xml)。异步不会阻塞主线程。1.ajax可以发起局部请求,页面整体不刷新,局部刷新。2.Ajax可以发起异...原创 2019-07-17 10:38:24 · 1051 阅读 · 1 评论 -
Django的请求
默认页面请求都是get请求,request是传递到视图的请求,里面包含请求的各种参数。常用的请求方式Get:默认是get请求,请求数据以明文形式放在路由上,get的格式是以?开头,键等于值的形式,以&来分割键值对,通常用于和服务器获取资源。例:在页面的地址输入栏中输入https://www.baidu.com/s?wd=一人之下就能查找到需要的结果。Post:请求...原创 2019-07-16 20:49:57 · 289 阅读 · 0 评论 -
django自定义表单的使用示例
前端html的内容如下界面显示如下:代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form act...原创 2019-07-16 20:33:01 · 964 阅读 · 0 评论 -
Django form表单类
前端校验与后端校验表单功能在开发的过程当中有一半的需求是获取数据,另一半校验数据。前端校验:就是通过js或者jq脚本对form表单输入的数据进行校验,形象,直观,有利于对用户进行提醒,用户体验好。后端校验:就是在视图当中或者python后端当中对提交的数据进行校验,比较安全。django的表单校验前端校验我们可以通过各种校验框架进行校验,django推出了自己的form...原创 2019-07-16 19:19:00 · 324 阅读 · 0 评论 -
django的csrf
CSRF跨域伪造攻击使用当前浏览器还在生效状态的cookie对指定网站进行操作。最初针对的是银行网站的转账。Django本身会对csrf进行校验,在django的1.4版本之前,csrf默认关闭,需要在settings当中手动开启,在1.4之后,默认开启。在settings.py中csrf的配置如下。如何防止csrf在django的任何post请求,都会在请求之初,给...原创 2019-07-16 16:01:37 · 309 阅读 · 0 评论 -
Django的app整合
在django开发之初,就鼓励大家进行松耦合的开发。目的追求代码独立性,可迁移性,可复用性,更方便代码的修改和维护。所以开发django的APP的原则就是要让项目独立。独立的url独立的url针对多个app,也就是说在django项目当中有多个功能块儿,独立url的步骤如下:先在自己的文件下建立urls.py文件,子url的语法和主url的语法类似。在主urls当中包...原创 2019-07-18 20:29:49 · 1082 阅读 · 0 评论 -
Django自定义标签
自定义标签安装和配置与自定义过滤器相似,参见https://blog.csdn.net/qq_39112101/article/details/96434326设置的代码分为两个部分:第一部分功能是注册和参数处理,第一部分是一个函数;第二部分是一个模板节点类,用来处理标签的逻辑。具体的代码编写如下和自定义过滤器放在同一份python文件里面import ref...原创 2019-07-18 19:38:15 · 249 阅读 · 0 评论 -
Django自定义模板过滤器
使用过滤器标签场景示例比如,现在通过数据采集,得到了全国3亿人的生日,然后要在前端进行展示,但是,由于数据来源多处,导致生日的格式各种各样,比如 1983-02-03 ,2016年4月16日,这个时候如果数据采集过程当中没有进行数据过滤,就需要有一种功能针对每一条数据的日期进行修改。这时候就需要用到过滤器了。制作和使用自定义过滤器标签步骤在APP当中创建templatetags包...原创 2019-07-18 19:28:10 · 243 阅读 · 0 评论 -
Django表单的增删改查操作
增删改查操作前的步骤1.配置数据库信息,settings.py中的配置2.创建模型类,同步到数据库(本次是使用sqlite数据库,mysql的话需要建库和在settings中进行配置)。3.写对应的页面(templates下的配置)4.视图函数的编写(views.py)5.配置路由(urls.py)建立数据库模型models.py,并且迁移。对person表的设计...原创 2019-07-11 20:47:09 · 1845 阅读 · 0 评论 -
Django动静分离与api的编写使用
什么是动静分离?动静分离就是将网站的动态数据和静态资源(html,javascript,css,img等文件)进行分开部署,提高用户访问静态资源的速度。在django的部署当中本身就有一部分资源被动静分离,还有没有完成的是html的静态化。动静分离常用方法将js、jq、css、img上传到一个单独目录,然后用服务器指出,CDN服务器。 在网站开发过程当中,大量使用api接口,...原创 2019-07-20 16:07:35 · 523 阅读 · 0 评论 -
django中vue的使用
后端使用vue的目的?后端使用vue的目的就是把ajax里面的数据绑定到前端,实现动静分离。Vue绑定被分为两个部分HTML部分:就是要绑定位置,通常用vue的语法来定义绑定的变量。Django和vue默认都用{{ }}作为变量的标识,在django是有冲突的,所以要使用 verbatim标签进行转义。Js部分:js部分是vue变量声明的部分,vue变量声明的规则很...原创 2019-07-20 22:01:13 · 3810 阅读 · 0 评论 -
django中vue-resource的使用
Vue 本身不支持ajax异步请求,所以,我们通常要使用vue的扩展插件vue-resource,但是二者语法一样,vue-resource目前交给三方团队维护。vue-resource使用示例:获取所有用户的列表,并且进行前端渲染导入jq和vue和vue-resource声明使用vue-resource对象使用create进行初始化加载使用met...原创 2019-07-20 22:23:45 · 358 阅读 · 0 评论 -
Django项目部署Celery框架和redis
什么是celery?Celery 是一个简单的,灵活的,可靠的python编写处理大量消息的分布式系统。那么什么是分布式呢?分布式就是将任务分发个多个客户端进行处理的模式。在python当中使用的分布式有两种,使用redis进行分布式和使用celery进行分布式。分布式开发,一定涉及一个设计模式:生产消费者模式Celery 基本原理在整个celery开发的过程当中...原创 2019-08-01 23:01:53 · 625 阅读 · 0 评论 -
使用Django发送邮件
Django 异步编程请求一个视图,视图向数据库写入30000条数据,那么整个页面进入等待状态,这显然是不合适的。在发短信、django调用爬虫和大规模数据写入等情况时显然不能同步编程。异步编程的底层可以用多线程实现,在开发中有一个很成熟的异步编程框架celery(芹菜),现在要用的是django封装好的celery框架,django-celery。Python 邮件发送...原创 2019-08-01 21:05:14 · 583 阅读 · 0 评论 -
Django接口传参
首先需要使用pip安装django-filter模块pip installdjango-filter在settings当中安装django自带的插件代码如下:REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES':[ 'rest_framework.permissions.DjangoModelPermi...原创 2019-08-01 19:25:31 · 991 阅读 · 0 评论 -
自定义接口返回内容
在项目的根目录创建utils包用来存放要编写的renderer文件renderer文件的名字和settings下的名称相对应。在utils包下面创建renderer的py文件rendererresponse.py,文件名称和settings中的配置名称相同,名称可自由设置。rendererresponse.py的内容如下:from rest_framework.rend...原创 2019-08-01 11:01:54 · 592 阅读 · 0 评论 -
postman使用方法
Postman是一个接口测试的工具,方便开发者对接口进行请求测试。可以先下载软件,再进行注册,注册的时候,邮箱使用自己的QQ邮箱即可,登录进去之后的界面如下各个部分的功能如下下图所示的地方可以选择对接口的请求方式输入API的地址对接口发送请求请求参数的位置指定返回的格式和返回结果...原创 2019-08-01 10:34:35 · 450 阅读 · 0 评论 -
django项目的memcache缓存技术
存储缓存常用的方式缓存针对于动态网站居多,动态网站的数据来自于数据库,或者其他存储容器,当请求页面的时候需要先查询数据,动态的渲染数据,当请求频繁的时候,响应效率会变低,服务器压力变大。所以在第一次访问的时候,就将数据先放在一个地方,这个地方可以是内存,数据库,本地,然后再次访问的时候访问刚才的地方即可,那么这种技术叫缓存。如果查询的页面在缓存中就从缓存中取出数据,如果不在缓存...原创 2019-08-05 19:26:58 · 621 阅读 · 0 评论 -
Django高级查询方法总结
常用查询语句all:查询所有filter:条件查询get:单条语句查询order_by:排序查询__set:映射查询(外键)常见比较查询__gt:大于__gte:大于等于__lt:小于__lte:小于等于__in:存在范围__startswith:以什么开头__endswith:以什么结尾__range:范围djang...原创 2019-07-31 20:38:46 · 962 阅读 · 0 评论 -
Nginx部署django项目
Django web服务本身不被Nginx以及Apache服务器支持,Nginx和Apache的主要功能就是在服务器上运行http web服务。但完成的django网站需要使用Nginx或者Apache进行运行,所以采用uwsgi web服务器作为中间服务器,其作为中间的桥梁来连接django项目和服务器。关于域名解析域名解析就是将域名和ip绑定到一起,访问域名就是访问ip。ht...原创 2019-08-04 16:38:08 · 501 阅读 · 0 评论 -
Django中间件的编写
关于中间件的顺序中间件放在主settings配置文件中,在MIDDLEWARE的列表当中安装自己配置的中间件,在列表当中不同的中间件的执行顺序为从前往后执行,放在前面的中间件会被先执行。在执行中间件方法的时候会先执行第一个中间件的process_request方法,然后再执行第二个中间件的process_request方法,等到出来的时候会先执行第二个中间件的process_resp...原创 2019-08-02 22:22:23 · 555 阅读 · 0 评论 -
初识Django中间件
之前曾使用装饰器实现登陆校验,但是实际开发中有时是需要所有页面都执行校验等功能。例如:不同的用户访问同一个页面,根据权限不同返回的数据也应该不同。当然可以通过数据库查询限制返回的结果,但这样并不能完全对信息进行限制。settings中有一个地方可以进行中间件的配置中间件放在一个列表中执行,有先后顺序,放在前面的先执行,放在后面的后执行。中间件:是用来处理Django请求的...原创 2019-08-02 21:07:15 · 100 阅读 · 0 评论 -
Celery 中设置钉钉定时任务
在一些项目当中通常会有一些定时任务的需求,如电商项目当中通常有每天中午12点进行秒杀活动,对于有过预约的用户,在某时间进行短信提醒。Linux系统可以设置计划任务,同样,Celery也提供了这样的一种功能。设置定时任务需要先在主settings中设置定时器主settings设置定时任务的代码如下:import djcelery #导入celery模块...原创 2019-08-02 19:22:03 · 552 阅读 · 0 评论 -
博客项目搭建之富文本的使用和图片的上传及显示
数据的models.py文件的内容如下from django.db import modelsfrom ckeditor.fields import RichTextField #引入富文本编辑器# Create your models here.class Author(models.Model): name = models.CharField(max_length...原创 2019-07-15 20:59:37 · 438 阅读 · 0 评论 -
cgi服务与数据可视化
cgi服务关于cgi的知识Python自带轻量级web服务器,可以最多支持200的并发,用于开发时使用很好,不擅长于实际项目。Cgi:通用网关接口,是解析动态网站的规则。动态网站:数据动态获取,可以和用户交互静态网站:数据来源于固定脚本和页面Python作为脚本语言可以和数据库交互,但是怎么和前端交互?这时候就用到cgi了。在web开发中,所有的服务器都会用域名...原创 2019-07-05 22:29:32 · 696 阅读 · 0 评论 -
web开发Django数据库模型搭建
Django 数据库开发思想与ORMDjango鼓励进行独立模块开发,模块之间降低耦合度。在这种思路下使用了MVC和MVT机制以及ORM机制。Python对数据库的常规操作Python对数据库的ORM操作关于MVC与MTVM(models)模板T(template)模板V(views)视图C(control)控制django的app...原创 2019-07-10 21:27:13 · 411 阅读 · 0 评论 -
Django基本流程思维导图
思维导图有点大,只能截图了。。。原创 2019-04-23 20:52:28 · 539 阅读 · 0 评论 -
Django设置项目前的配置
目录如下快捷方式:ctrl + alt + i,对齐settings.py中的配置import osBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))BASE_DIR是当前项目路径地址,D:\workpy\Django\day02\day02_django01__fi...原创 2019-04-23 19:23:39 · 294 阅读 · 0 评论 -
通过命令行来创建与开启django项目
创建项目在day02目录下创建day02_django01项目,命令:django-admin startproject ‘项目名称’创建完成项目后,项目下面会有一个和项目名称相同的包,这个包里面包含项目的各种配置文件文件功能settings.py 配置功能urls.py 路由wsgi.py 路由器网关接口开启项目进入到包...原创 2019-04-23 11:02:04 · 1980 阅读 · 0 评论 -
Django2.11.2版本安装及在Pycharm下创建项目
安装Django(1).下载命令:Pipinstall Django==2.1.2(版本号)(2).Django的下载位置:(3).检查是否能正常运行(4)添加环境变量(如果不能正常运行):创建Django项目点击file,再点击new project点击Django,再从location中选择要将Django创建到哪个目录给项目...原创 2019-04-22 19:16:07 · 441 阅读 · 0 评论 -
WSGI(Web Server Gateway Interface, Web服务器网关接口)
Django框架是应用程序,负责业务逻辑,本身没有服务器程序功能。现有有很多优秀的服务器程序 例如 uwsgi、Gunicorn。而Web应用框架和服务器程序进行配合使用就需要遵循一定的规范(就比如图中的桥梁部分)。而这个规范就是WSGIWSGI(Web Server Gateway Interface, Web服务器网关接口) 就是一种规范,它定义了使用Python编写的web应用程序与we...原创 2019-04-22 17:10:50 · 1200 阅读 · 0 评论 -
python框架是如何制作的
什么是框架?在生活中就像我们想到的一样,框架指的我们在做一件事情的时候搭的骨架来完成基础的功能。例如盖楼,开发商建的毛坯房就是楼的骨架,毛坯房的基础功能就是能住。如果想住的舒服用户根据自己的需求来摆放物品。例如客厅放沙发,电视。主卧放床和衣柜等等。例如明星开演唱会,舞台的搭建就是一个骨架,舞台基础的功能就是明星能有地方唱歌跳舞,如果想要气氛,可以在舞台上摆放不同的物品。程序中...原创 2019-04-22 16:44:25 · 987 阅读 · 0 评论 -
web介绍
web介绍web指的是网络,web应用开发指的是基于网络的应用程序开发。Web应用开发分为web前端开发和web后端开发。Web前端开发:我们可以简单的理解为开发一些网页。Web后端开发:写一些逻辑判断程序。当用户发出请求给我们写的程序,程序根据用户的请求做出相应的判断,然后返回给客户相应的内容。软件开发架构两个程序之间通讯的应用大致可以分为两种:...原创 2019-04-22 11:27:55 · 592 阅读 · 0 评论 -
HTTP协议分析
HTTP协议HTTP协议简介:超文本传输协议(英文:HyperTextTransferProtocol,缩写:HTTP)是应用层协议。HTTP是万维网的数据通信的基础。HTTP协议概述:HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这...原创 2019-04-22 10:48:57 · 1635 阅读 · 0 评论 -
Django静态文件部署前的收集
在线上和项目当中,django使用不是一套静态文件,Apache和Nginx当中都需要配置独立的静态文件路由配置静态根目录STATIC_URL = '/static/'TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'templates'),)#STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')...原创 2019-04-25 22:55:09 · 1328 阅读 · 0 评论 -
Django项目App内部的独立文件
独立url(子路由)之前的路由都写在主urls下,现在要开始写每一个app自己的子路由编写自己的子路由在app下新建urls.py,urls.py中的内容如下:from django.contrib import adminfrom django.urls import pathfrom app01 import viewsurlpatterns = [ pat...原创 2019-04-25 22:42:17 · 406 阅读 · 0 评论