1.首先安装Django-Rest-Framework

pip3 install djangorestframework
pip3 install markdown Markdown为可视化 API 提供了支持
pip3 install django-filter

2.使用pycharm创建一个工程和一个app

工程名:restful

app名:api

数据库默认使用sqlite3

3.配置rest_framework

打开settings文件        INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'api',
'rest_framework' #新增
]添加
REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),'PAGINATE_BY': 10
}

4.同步数据库

python manage.py makemigrations
python manage.py migrate

5.序列化

在api下面创建serializers.py文件添加from django.contrib.auth.models import User, Group
from rest_framework import serializersclass UserSerializer(serializers.HyperlinkedModelSerializer):class Meta:model = Userfields = ('url', 'username', 'email', 'groups')class GroupSerializer(serializers.HyperlinkedModelSerializer):class Meta:model = Group#显示的字段fields = ('url', 'name')

6.添加视图

在api的views里添加如下代码
from django.shortcuts import render# Create your views here.
from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from api.serializers import UserSerializer, GroupSerializerclass UserViewSet(viewsets.ModelViewSet):"""允许查看和编辑user 的 API endpoint"""queryset = User.objects.all()serializer_class = UserSerializerclass GroupViewSet(viewsets.ModelViewSet):"""允许查看和编辑group的 API endpoint"""queryset = Group.objects.all()serializer_class = GroupSerializer

7.设置url

在restful下面urlsfrom django.conf.urls import url,include
from django.contrib import adminurlpatterns = [url(r'^admin/', admin.site.urls),#添加url(r'^api/', include('api.urls')),
]在api下面创建urls
添加from django.conf.urls import patterns, url, include
from rest_framework import routers
from api import viewsrouter = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browseable API.
urlpatterns = [url(r'^', include(router.urls)),#验证登录使用url(r'auth',include('rest_framework.urls'))]

8.启动访问



转载于:https://www.cnblogs.com/liu-yao/p/6058488.html

15.django之Django-Rest-Framework相关推荐

  1. Django简介Django 各个环境下的安装

    目录: Django介绍 Django 全貌 Django 安装 Window 下安装 Django Linux 上安装 Django Mac 下安装 Django介绍 Django 是一个由 Pyt ...

  2. Django(part1)--Django介绍与安装

    学习笔记,仅供参考 文章目录 Django框架 Django框架介绍 安装与卸载 举个例子 Django框架 Django框架介绍 Django框架是采用Python语言编写的开源框架,早期用于新闻和 ...

  3. django render_(django/flask/bottle)多框架python-restful接口包api-shop

    前言: 最近写web接口写得快吐了,写完还得写文档,甚至还得写点测试样本,还要在django和flask之间不断的重复类似的工作,简直不能忍.目前django和flask的restful工具包用着有点 ...

  4. 【Django】Django Auth认证组件详述

    1.Django Auth介绍 官方文档:https://docs.djangoproject.com/en/1.10/topics/auth. Django内置了用户认证系统,处理用户账户.用户组. ...

  5. 快速上手Django(六) -Django之Django drf 序列化器Serializer类

    文章目录 快速上手Django(六) -Django之Django drf 序列化器Serializer类 1. 背景 2. 使用思路 3. 代码demo 4. [重要]序列化类 ModelSeria ...

  6. python middleware模块_详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击...

    一.在django后台处理 1.将django的setting中的加入django.contrib.messages.middleware.MessageMiddleware,一般新建的django项 ...

  7. python-web开发[15]之初识Django

    Python知识点:函数.面向对象. 前端开发:HTML.CSS.JavaScript.jQuery.BootStrap. MySQL数据库. Python的Web框架: Flask,自身短小精悍 + ...

  8. Django后端项目----restful framework 认证源码流程

    一.请求到来之后,都要先执行dispatch方法,dispatch方法方法根据请求方式的不同触发get/post/put/delete等方法 注意,APIView中的dispatch方法有很多的功能 ...

  9. Django进阶 Django REST framework+Vue 打造生鲜超市第一天 搭建环境

    新人学习django 是按照这个大佬的教程学习的 链接: https://www.cnblogs.com/derek1184405959/p/8733194.html. 很多步骤都是按照上面的教程学习 ...

  10. Django框架-Django视图(views)系统

    Django的视图系统 定义:一个视图函数(或类),简称为视图,是一个简单的python函数或类,它接受web请求并且返回web响应. 响应可以是一张网页的html内容,一个重定向,一个404错误,一 ...

最新文章

  1. vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化
  2. GSM Hacking Part① :使用SDR扫描嗅探GSM网络
  3. 贪心算法之买卖股票的最佳时机 II
  4. .Net Core SignalR 初体验
  5. linux将屏幕输出到文件,Linux命令执行的屏幕输出内容重定向到日志文件
  6. LeetCode 665 非递减数列
  7. 前后端分离项目token怎么验证_前后端分离,获取token,验证登陆是否失效
  8. 安全强化你的 Linux 服务器的七个步骤
  9. linux sys伪用户作用,linux用户管理详解
  10. css3 水纹效果(仿写阿里云)
  11. 微信小程序icon图标怎么用
  12. 暗黑复制服务器物品,暗黑2战网环境下复制dupe物品装备
  13. Python之列表和元组
  14. python实现比较两手牌的大小--斗地主规则
  15. Win8.1和Win10各自的优势
  16. windows下System Volume Information Folder文件夹过大的处理
  17. 计算机无法打开cad文件,无法打开cad文件的解决方法
  18. PRBS-存储器测试
  19. 青龙-聚看点(稳定的毛)
  20. Java Web实现 使用浏览器从服务器下载文件

热门文章

  1. python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...
  2. python十进制小数转二进制_python十进制和二进制的转换 (含浮点数)
  3. c++ 方向_GE医疗C型臂系列手术机设备全球装机量破万
  4. HBASE ERROR: Table already exists: FileTable! list时候却查不到表
  5. android studio socket编程实例
  6. php解析api xml并输出到html页面,怎样操作JS读取xml内容并输出到div内
  7. opengl绘制长方体线框_OpenGL绘图实例十之绘制3D机器人
  8. python出题器_随手写的python出题小玩意
  9. python 导入数据对不齐_NumPy:使用loadtxt或genfromtxt读取参差不齐的结构
  10. 又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统