1.安装rest_framework

pip install djangorestframework

 2.配置rest_framework

## 将rest_framework加入项目app列表
INSTALLED_APPS = [
'rest_framework',
] ## 其他配置
# ======rest api======
REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
# 自定义异常处理方法
'EXCEPTION_HANDLER': 'api_core.exception.api_exception_handler',
# 'EXCEPTION_HANDLER': 'tennis_api.exception.api_exception_handler', # 全局权限控制
'DEFAULT_PERMISSION_CLASSES': [
# 'rest_framework.permissions.DjangoObjectPermissions'
# 'api_core.permission.AppApiPermission',
'rest_framework.permissions.AllowAny',
# 'tennis_api.permission.AppApiPermission'
], # 授权处理
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
# 'rest_framework.authentication.TokenAuthentication',
'api_core.authentication.ExpiringTokenAuthentication',
# 'tennis_api.authentication.ExpiringTokenAuthentication',
), # 全局级别的过滤组件,查找组件,排序组件
'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.SearchFilter', 'rest_framework.filters.DjangoFilterBackend',
'rest_framework.filters.OrderingFilter',),
# 分页每页大小
'PAGE_SIZE': 5,
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
),
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
)
}

 3.urls.py配置

urlpatterns = [
# 接口浏览登录
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework')),
]

 4.应用

## 引入rest_framework装饰器
from rest_framework.decorators import api_view
@csrf_exempt
@require_customer_login
@api_view(["GET", "POST", "REQUEST"])
def user_address_list(request):
"""
获取用户地址列表
请求参数:
{
# 要求用户登录
}
返回数据:{
"code": code, # 业务状态:1为成功0为失败
"data": {
"address_list": [
{
"id",
"is_default", # 是否默认地址
"customer_name", # 客户名称
"phone_no", # 手机号
"province__province_name", # 省份名称
"province_id", # 省份ID
"city__city_name", # 城市名
"city_id", # 城市ID
"district__district_name", # 县乡名
district_id", # 县乡ID
"address" # 用户地址信息
}],
for_select: False # 是否下单中
},
"message": ""
}
"""
curr_customer = get_current_customer()
if curr_customer is None:
return {"code": constants.RESULT_NOT_LOGIN, "message": u"您还未登陆"} # 地址
customer_address = CustomerAddress.objects.filter(customer_id=curr_customer.id, available=True,
deleted=False).values("id", "is_default",
"customer_name", "phone_no",
"province__province_name",
"province_id",
"city__city_name", "city_id",
"district__district_name",
"district_id",
"address")
address_list = []
if customer_address:
address_list = list(customer_address) data_dict = {'address_list': address_list, "for_select": False}
if emall_constants.SESSION_VSHOP_ADD_ORDER_INFO in request.session:
data_dict['for_select'] = True return Response({"code": constants.RESULT_SUCCESS, "data": data_dict, "message": ""})

django添加REST_FRAMEWORK 接口浏览的更多相关文章

  1. 初识Django —Python API接口编程入门

    初识Django —Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...

  2. python3.8.0 Django 开发后端接口api 部署到 Linux Centos7上

    经历了两天的时候终于把本地使用python3 django开发的接口API部署到服务器上了,还是记录一下,以免之后忘记,哈哈 注意一点,就是,centos7是基于python2的,我这边默认的是pyt ...

  3. Django 之 rest_framework 响应器使用

    Django 之 rest_framework 响应器使用 使用部分: 第一步:导入模块 from rest_framework.renders import BrowsableAPIRenderer ...

  4. 玩转Windows服务系列——给Windows服务添加COM接口

    当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...

  5. 【博客美化】08.添加"扩大/缩小浏览区域大小" 按钮

    博客园美化相关文章目录: [博客美化]01.推荐和反对炫酷样式 [博客美化]02.公告栏显示个性化时间 [博客美化]03.分享按钮 [博客美化]04.自定义地址栏logo [博客美化]05.添加Git ...

  6. django 添加comments app

    django 添加comments app 参看 django comments 文档 安装和配置comments 1.安装comments,运行:pip install django-contrib ...

  7. Django的rest_framework的分页组件源码分析

    前言: 分页大家应该都很清楚,今天我来给大家做一下Django的rest_framework的分页组件的分析:我的讲解的思路是这样的,分别使用APIview的视图类和基于ModelViewSet的视图 ...

  8. Django的rest_framework的权限组件和频率组件源码分析

    前言: Django的rest_framework一共有三大组件,分别为认证组件:perform_authentication,权限组件:check_permissions,频率组件:check_th ...

  9. Django的rest_framework认证组件之局部设置源码解析

    前言: Django的rest_framework组件的功能很强大,今天来我来给大家剖析一下认证组件 下面进入正文分析,我们从视图开始,一步一步来剖析认证组件 1.进入urls文件 url(r'^lo ...

随机推荐

  1. 用js拼接url为pathinfo模式

    用js拼接url为pathinfo模式

  2. MGR_ERROR 3092 (HY000): DROP DATABASE failed;

    start group_replication;时报以下错: ERROR 3092 (HY000): DROP DATABASE failed; some tables may have been d ...

  3. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  4. LGPL 与GPL的区别

    GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPL.GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样.GPL的出发点是 ...

  5. free之后将指针置为NULL

    free一个指针,只是将指针指向的内存空间释放掉了,并没有将指针置为NULL,指针仍指向被释放掉的内存的地址,在判断指针是否为NULL的时候,通常是通过if(pt == NULL) ,这时,导致指针成 ...

  6. 【hdoj_1250】Hat's Fibonacci(大数)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1250 思路:本题的Fibonacci数列是扩展的四阶的Fibonacci数列,用递推关系式求解即可. 题目 ...

  7. [Vuejs+php] MySQL数据转JSON传值到前端

    说在前面 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 优点如下[转]: 1.占带宽小(格式是压缩的) 2. js通过eval()进行Json读取(便 ...

  8. Python 一些 实用的包(持续更新)

    line_profiler:(代码性能分析) 使用方法:链接 codecs:(Python内置的编码库) 数据分析与挖掘领域: 引自博客:这里     因为他有很多这个领域相关的库可以用,而且很好用, ...

  9. MVC公开课 – 1.基础 (2013-3-15广州传智MVC公开课)

    1.MVC设计模式 Model 是指 要处理的业务代码和数据操作代码 View 视图 主要是指的 跟用户打交道 并能够展示数据 Controller 看成是 Model和View的桥梁 优点: 1.1 ...

  10. 什么是VC、PE、LP、GP?

    天使基金主要关注原创项目构思和小型初创项目,投资规模大多在300万元以下:风险投资关注初创时期企业长期投资,规模在1000万元以下:私募股权投资主要关注3年内可以上市的成熟型企业. VC即ventur ...