15.django之Django-Rest-Framework
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相关推荐
- Django简介Django 各个环境下的安装
目录: Django介绍 Django 全貌 Django 安装 Window 下安装 Django Linux 上安装 Django Mac 下安装 Django介绍 Django 是一个由 Pyt ...
- Django(part1)--Django介绍与安装
学习笔记,仅供参考 文章目录 Django框架 Django框架介绍 安装与卸载 举个例子 Django框架 Django框架介绍 Django框架是采用Python语言编写的开源框架,早期用于新闻和 ...
- django render_(django/flask/bottle)多框架python-restful接口包api-shop
前言: 最近写web接口写得快吐了,写完还得写文档,甚至还得写点测试样本,还要在django和flask之间不断的重复类似的工作,简直不能忍.目前django和flask的restful工具包用着有点 ...
- 【Django】Django Auth认证组件详述
1.Django Auth介绍 官方文档:https://docs.djangoproject.com/en/1.10/topics/auth. Django内置了用户认证系统,处理用户账户.用户组. ...
- 快速上手Django(六) -Django之Django drf 序列化器Serializer类
文章目录 快速上手Django(六) -Django之Django drf 序列化器Serializer类 1. 背景 2. 使用思路 3. 代码demo 4. [重要]序列化类 ModelSeria ...
- python middleware模块_详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击...
一.在django后台处理 1.将django的setting中的加入django.contrib.messages.middleware.MessageMiddleware,一般新建的django项 ...
- python-web开发[15]之初识Django
Python知识点:函数.面向对象. 前端开发:HTML.CSS.JavaScript.jQuery.BootStrap. MySQL数据库. Python的Web框架: Flask,自身短小精悍 + ...
- Django后端项目----restful framework 认证源码流程
一.请求到来之后,都要先执行dispatch方法,dispatch方法方法根据请求方式的不同触发get/post/put/delete等方法 注意,APIView中的dispatch方法有很多的功能 ...
- Django进阶 Django REST framework+Vue 打造生鲜超市第一天 搭建环境
新人学习django 是按照这个大佬的教程学习的 链接: https://www.cnblogs.com/derek1184405959/p/8733194.html. 很多步骤都是按照上面的教程学习 ...
- Django框架-Django视图(views)系统
Django的视图系统 定义:一个视图函数(或类),简称为视图,是一个简单的python函数或类,它接受web请求并且返回web响应. 响应可以是一张网页的html内容,一个重定向,一个404错误,一 ...
最新文章
- vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化
- GSM Hacking Part① :使用SDR扫描嗅探GSM网络
- 贪心算法之买卖股票的最佳时机 II
- .Net Core SignalR 初体验
- linux将屏幕输出到文件,Linux命令执行的屏幕输出内容重定向到日志文件
- LeetCode 665 非递减数列
- 前后端分离项目token怎么验证_前后端分离,获取token,验证登陆是否失效
- 安全强化你的 Linux 服务器的七个步骤
- linux sys伪用户作用,linux用户管理详解
- css3 水纹效果(仿写阿里云)
- 微信小程序icon图标怎么用
- 暗黑复制服务器物品,暗黑2战网环境下复制dupe物品装备
- Python之列表和元组
- python实现比较两手牌的大小--斗地主规则
- Win8.1和Win10各自的优势
- windows下System Volume Information Folder文件夹过大的处理
- 计算机无法打开cad文件,无法打开cad文件的解决方法
- PRBS-存储器测试
- 青龙-聚看点(稳定的毛)
- Java Web实现 使用浏览器从服务器下载文件
热门文章
- python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...
- python十进制小数转二进制_python十进制和二进制的转换 (含浮点数)
- c++ 方向_GE医疗C型臂系列手术机设备全球装机量破万
- HBASE ERROR: Table already exists: FileTable! list时候却查不到表
- android studio socket编程实例
- php解析api xml并输出到html页面,怎样操作JS读取xml内容并输出到div内
- opengl绘制长方体线框_OpenGL绘图实例十之绘制3D机器人
- python出题器_随手写的python出题小玩意
- python 导入数据对不齐_NumPy:使用loadtxt或genfromtxt读取参差不齐的结构
- 又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统