文章分类 - Django
摘要:django在进行数据库操作的时候,读取数据与写数据(增、删、改)可以分别从不同的数据库进行操作。 1. 在配置文件中增加slave数据库的配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '10.
阅读全文
摘要:在Django配置文件中,设置邮箱的配置信息 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.163.com' EMAIL_PORT = 25 #发送邮件的邮箱 EMAIL_HOST_U
阅读全文
摘要:使用Celery完成发送短信 在meiduo/meiduo_mall下创建celery_tasks用于保存celery异步任务。 在celery_tasks目录下创建config.py文件,用于保存celery的配置信息 broker_url = "redis://127.0.0.1/14" 在ce
阅读全文
摘要:跨域CORS 我们为前端和后端分别设置了两个不同的域名 位置域名 前端 www.meiduo.site 后端 api.meiduo.site 现在,前端与后端分处不同的域名,我们需要为后端添加跨域访问的支持。 我们使用CORS来解决后端对跨域访问的支持。 使用django-cors-headers扩
阅读全文
摘要:我们在验证完用户的身份后(检验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需核验用户的JWT。 关于签发和核验JWT,我们可以使用Django REST framework JWT扩展来完成。 文档网站http://getblimp.github.io/django-res
阅读全文
摘要:配置 1. 修改settings/dev.py 文件中的路径信息 我们将Django的应用放到了 工程目录/meiduo_mall/apps目录下,如果创建一个应用,比如users,那么在配置文件的INSTALLED_APPS中注册应用应该如下: INSTALLED_APPS = [ ... 'me
阅读全文
摘要:apps 存放Django的应用 libs 存放第三方的库文件 settings 存放配置文件的目录,分为开发dev和线上prod utils 存放项目自己定义的公共函数或类等 docs 用于存放一些说明文档资料 scripts 用于存放管理脚本文件
阅读全文
摘要:1. 安装依赖 REST framewrok生成接口文档需要coreapi库的支持。 pip install coreapi 2. 设置接口文档访问路径 在总路由中添加接口文档路径。 文档路由对应的视图配置为rest_framework.documentation.include_docs_urls
阅读全文
摘要:REST framework提供了异常处理,我们可以自定义异常处理函数。 from rest_framework.views import exception_handler def custom_exception_handler(exc, context): # 先调用REST framewor
阅读全文
摘要:分页Pagination REST framework提供了分页的支持。 我们可以在配置文件中设置全局的分页方式,如: REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagina
阅读全文
摘要:限流Throttling 可以对接口访问的频次进行限制,以减轻服务器压力。 使用 可以在配置文件中,使用DEFAULT_THROTTLE_CLASSES 和 DEFAULT_THROTTLE_RATES进行全局配置, REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLAS
阅读全文
摘要:可以在配置文件中配置全局默认的认证方案 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # 基本认证 'rest_framework
阅读全文
摘要:REST framework提供了两个router SimpleRouter DefaultRouter 1. 使用方法 1) 创建router对象,并注册视图集,例如 from rest_framework import routers router = routers.SimpleRouter(
阅读全文
摘要:使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update() 保存数据 destory() 删除数据 ViewSet视图集类不再实现get()、post()等方法,而是实现动作 act
阅读全文
摘要:1. 两个基类 1)APIView rest_framework.views.APIView APIView是REST framework提供的所有视图的基类,继承自Django的View父类。 APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Reques
阅读全文
摘要:1. Request REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。 REST framework 提供了Parser解析器,在接收到请求后会
阅读全文
摘要:如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同,但提供了: 基于模型类自动生成一系列字段 基于模型类自动为Seriali
阅读全文
摘要:1. 验证 使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。 在获取反序列化的数据前,必须调用is_valid()方法进行验证,验证成功返回True,否则返回False。 验证失败,可以通过序列化器对象的errors属性获取错误信息,返回字典,包含了字段和
阅读全文
摘要:我们在django shell中来学习序列化器的使用。 python manage.py shell 1 基本使用 1) 先查询出一个图书对象 from booktest.models import BookInfo book = BookInfo.objects.get(id=2) 2) 构造序列
阅读全文

浙公网安备 33010602011771号