Django框架
梦因you而美
因为坚守,所以花开不败!
展开
-
Django - 请求与响应
1 请求回想一下,利用HTTP协议向服务器传参有几种途径?提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取; 查询字符串(query string),形如key1=value1&key2=value2; 请求体(body)中发送的数据,比如表单数据、json、xml; 在http报文的头(header)中。1.1 U...原创 2018-11-06 09:46:30 · 971 阅读 · 0 评论 -
Serializer序列化器
1 定义Serializer1.1 定义方法Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。例如,我们已有了一个数据库模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max...原创 2018-11-08 21:26:17 · 1039 阅读 · 0 评论 -
美多商场 - 用户部分 - 2
1 使用Celery完成发送短信在meiduo/meiduo_mall下创建celery_tasks用于保存celery异步任务。在celery_tasks中创建main.py、config.py文件,sms包(sms包中创建tasks.py文件),最终celery目录结构如下:sms是专门存放发送短信业务逻辑的代码包config.py是用于配置broker的main是c...原创 2018-11-14 18:04:28 · 2144 阅读 · 0 评论 -
美多商城 - 项目准备
1 商业模式介绍目的:知道美多商城项目属于B2C商业模式1.1 B2B--企业对企业B2B (Business to Business)是指进行电子商务交易的供需双方都是商家(或企业、公司),她(他)们使用了互联网的技术或各种商务网络平台,完成商务交易的过程。电子商务是现代 B2B marketing 的一种具体主要的表现形式。 案例:阿里巴巴、慧聪网1.2 C2C--个人对个...原创 2018-11-12 16:33:21 · 4157 阅读 · 1 评论 -
美多商场 - 用户部分 - 1
1 用户模型类Django提供了认证系统,文档资料可参考此链接https://yiyibooks.cn/xx/Django_1.11.6/topics/auth/index.htmlDjango认证系统同时处理认证和授权。简单地讲,认证验证一个用户是否它们声称的那个人,授权决定一个通过了认证的用户被允许做什么。 这里的词语“认证”同时指代这两项任务,即Django的认证系统同时提供了认证机...原创 2018-11-13 18:14:20 · 1763 阅读 · 1 评论 -
美多商场 - 用户部分 - 4 用户中心个人信息
1 用户个人中心说明与邮箱激活字段添加1.1 个人中心介绍前端访问个人信息页面时,需要向后端请求个人信息。在本页面中要显示用户的Email邮箱信息,而对于邮箱信息我们要实现对于邮箱的验证功能,并在本页面中显示邮箱是否已验证,如下所示,这里有一个邮箱,而邮箱在注册的时候,并没有让用户输入,所以会在这里留一个输入的入口,所以第一次访问基本信息,是这样: 用户保存之后,还要对...原创 2018-11-19 21:00:54 · 4227 阅读 · 5 评论 -
美多商场 - 用户部分 - 3 QQ登录
QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目。若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现。注册方法可参考链接http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ...原创 2018-11-17 18:47:59 · 2040 阅读 · 1 评论 -
Json Web Token 认证
1.什么是Json Web Token?Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519)。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。JWT的声明一般被用来在身份提供者和服务提供者间传递...原创 2018-12-19 13:56:49 · 1226 阅读 · 0 评论 -
celery简介
celery介绍celery是一个基于python开发的分布式异步消息队列,轻松实现任务的异步处理celery在执行任务时需要一个消息中间件来接收和发送任务消息,以及存储任务结果,一般使用RabbitMQ 或 Rediscelery优点简单:熟悉celery的工作流程后,配置使用简单高可用:当任务执行失败或执行过程中发生连接中断,celery会自动尝试重新执行任务快速:一个...原创 2018-12-19 17:41:57 · 1262 阅读 · 1 评论 -
Django总结 - 项目文件的组成
项目文件夹下的组成部分:manage.py 是项目运行的入口,指定配置文件路径。与项目同名的目录,包含项目的配置文件。___init.py__ 是一个空文件,作用是这个目录可以被当作包使用,也可以做一些初始化操作。settings.py 是项目的整体配置文件。urls.py 是项目的 URL 配置文件。wsgi.py 是项目与 WSGI 兼容的 Web 服务器。...原创 2018-12-16 20:10:26 · 1241 阅读 · 0 评论 -
Django框架复习
有道云笔记:http://note.youdao.com/noteshare?id=4cd826067f80638f3438fa691b82bc69原创 2019-02-15 13:32:33 · 1125 阅读 · 0 评论 -
Django面试题
目录1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈你对ORM的理解7 rest_framework 认证组件的流程8 什么是中间件并简述其作用9 django 中间件生命周期10 django中怎么写原生SQL11 如何使用django...原创 2019-02-16 14:29:53 · 9862 阅读 · 8 评论 -
WSGI、uWSGI和nginx之间的关系
WSGI 是一种 Web 服务器网关接口。它是一 个 Web 服务器(如 nginx,uWSGI 等服务器)与 web 应用(如用 Flask 框架写的程序)通信的一种规范。 简单而言, WSGI 是一种通信协议。uWSGI 是一个 Web 服务器,它实现了 WSGI、uwsgi等协议。uwsgi协议是一个uWSGI服务器自有的协议,uwsgi 是一种线路协议而不是通信协议,在此常用于在 uW...原创 2019-02-10 16:05:30 · 1895 阅读 · 0 评论 -
DRF - 工程搭建
1 环境安装与配置DRF需要以下依赖:Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0)DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的Django环境而无需从新创建。(若没有Django环境,需要先创建环境安装Django)1.1 安装DRFpip install djangor...原创 2018-11-08 19:49:17 · 1783 阅读 · 0 评论 -
引入Django REST framework
在本章中,我们要大家介绍为什么学习Django REST framework,它能帮助我们做哪些事情。我们从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做的最核心工作,然后介绍Django REST framework能帮助我们简化开发REST API的工作。1 Web应用模...原创 2018-11-08 18:43:04 · 1228 阅读 · 0 评论 -
Django - 类视图与中间件
1 类视图1.1 类视图引入以函数的方式定义的视图称为函数视图,函数视图便于理解。但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳。 def register(request): """处理注册""" # 获取请求方法,判断是GET/POST请求 if request.metho...原创 2018-11-06 11:37:19 · 950 阅读 · 0 评论 -
Django - 数据库
1 ORM框架O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。django中内嵌了ORM...原创 2018-11-07 08:39:52 · 945 阅读 · 0 评论 -
Django - 模板使用
1 配置在工程中创建模板目录templates。在settings.py配置文件中修改TEMPLATES配置项的DIRS值:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, '...原创 2018-11-07 11:22:36 · 978 阅读 · 0 评论 -
Django - 表单使用
Django提供对表单处理的支持,可以简化并自动化大部分的表单处理工作。1 定义表单类表单系统的核心部分是Django 的Form类。 Django 的数据库模型描述一个对象的逻辑结构、行为以及展现给我们的方式,与此类似,Form类描述一个表单并决定它如何工作和展现。假如我们想在网页中创建一个表单,用来获取用户想保存的图书信息,可能类似的html 表单如下:<form ac...原创 2018-11-07 14:17:25 · 911 阅读 · 0 评论 -
DRF - 视图
1 Request 与 Response1.1 RequestREST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型...原创 2018-11-09 13:52:42 · 975 阅读 · 0 评论 -
DRF - 五个扩展类 - 辅助理解
from rest_framework.response import Responsefrom rest_framework.views import APIViewfrom booktest.models import BookInfofrom booktest.serializers import BookInfoSerializerclass BookInfoAPIView...原创 2018-11-09 14:54:24 · 1013 阅读 · 0 评论 -
DRF - 其他功能
1 认证Authentication可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # 基本认证 'rest_framework.authe...原创 2018-11-10 18:37:16 · 1427 阅读 · 0 评论 -
Django - Admin站点
1 使用Admin站点假设我们要设计一个新闻网站,我们需要编写展示给用户的页面,网页上展示的新闻信息是从哪里来的呢?是从数据库中查找到新闻的信息,然后把它展示在页面上。但是我们的网站上的新闻每天都要更新,这就意味着对数据库的增、删、改、查操作,那么我们需要每天写sql语句来操作数据库吗? 如果这样的话,是不是非常繁琐,所以我们可以设计一个页面,通过对这个页面的操作来实现对新闻数据库的增删改查操...原创 2018-11-07 20:09:24 · 956 阅读 · 0 评论 -
Django - 介绍
1. 简介Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名...原创 2018-11-05 08:41:12 · 3940 阅读 · 0 评论 -
Django - 工程搭建
1 学习目标搭建环境 创建工程 创建应用 了解工程目录结构 定义视图与路由2 环境安装2.1 创建虚拟环境mkvirtualenv django_py3_1.11 -p python3注意:需要联网(django_py3_1.11 为虚拟环境名称)2.2 安装 Django使用django 1.11.11版本,注意需要联网pip install dj...原创 2018-11-05 09:50:06 · 1037 阅读 · 0 评论 -
Django - 配置、静态文件与路由
1 配置文件1.1 BASE_DIRBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。1.2 DEBUG调试模式,创建工程后初始值为True,即默认工作在调试模式下。作用: 修改...原创 2018-11-05 17:14:42 · 1123 阅读 · 0 评论 -
Django - 美多商场项目 - 思路总结
美多商场项目:前后端分离一、 项目准备:1 商业模式 B2B -- 企业对企业(Business to Business) 阿里巴巴、慧聪网 C2C -- 个人对个人(Customer to Customer) 淘宝、瓜子二手车 B2C -- 企业对个人(Business to Customer) 唯品会、美多商场 C2B -- 个人对企业(Customer to Bu...原创 2018-11-11 18:44:37 · 7155 阅读 · 3 评论 -
关于序列化器抛出异常的说明
现在讨论一件事情,就是一个异常发生之后,会不会无限的往上抛出呢?不会,如果调用者try except了,那么就会停止,反之就会继续往上传。我们下边的代码在校验时发现错误,就会抛出异常:那么这个异常是如何出现的,又是如何抛出的,我们来画图分析一下: ...原创 2018-11-13 20:09:09 · 1349 阅读 · 0 评论 -
Django项目复习 - 第一天
1 创建工程本项目使用git管理项目代码,代码库放在gitee码云平台。(注意,公司中通常放在gitlab私有服务器中)1.1 在git平台创建工程1) 创建私有项目库2)克隆项目到本地(通过ssh方式克隆) 通过ssh克隆,需要配置密钥对 生成密钥对:ssh-keygen -t rsa 查看秘钥内容: cd cd .sshcat id_rsa...原创 2019-02-10 22:15:57 · 1886 阅读 · 0 评论