使用django实现rest-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 1637538
  • 博文数量: 63
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 646
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-26 18:02
个人简介

祸兮福之所倚,福兮祸之所伏

文章分类

全部博文(63)

文章存档

2020年(11)

2019年(10)

2017年(10)

2016年(25)

2015年(7)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: python/ruby

2017-03-15 14:46:31

      django使用rest_framework 实现web的api接口。
     安装pip install djangorestframework
     在settings配置文件中设置,加入app和权限设置
    

点击(此处)折叠或打开

  1. installed_apps = [

  2.     'django.contrib.admin',
  3.     'django.contrib.auth',
  4.     'django.contrib.contenttypes',
  5.     'django.contrib.sessions',
  6.     'django.contrib.messages',
  7.     'django.contrib.staticfiles',
  8.     'rest_framework',
  9.     'quick',
  10.     'blog',
  11. ]

  12. rest_framework = {

  13.     'default_permission_classes':(
  14.         #only allow admin user
  15.         #'rest_framework.permissions.isadminuser',
  16.         #use django's standard users permissions,
  17.         # or allow read-only access for unauthenticated users
  18.         #'rest_framework.permissions.djangomodelpermissionsoranonreadonly',
  19.     ),

  20.     'page_size':10
  21. }

     首先实现数据库,models.py
     

点击(此处)折叠或打开

  1. class his_comm(models.model):
  2.     his_id = models.charfield(max_length=10)
  3.     host_ip = models.genericipaddressfield(default='')
  4.     his_user = models.charfield(max_length=10)
  5.     his_time = models.charfield(max_length=20)
  6.     his_command = models.charfield(max_length=200)

  7.     def __str__(self):
  8.         return self.his_id
      
       设置数据库接口序列化
  serializers.py
  

点击(此处)折叠或打开

  1. from rest_framework import serializers
  2. from quick.models import his_comm

  3. class hisserializser(serializers.hyperlinkedmodelserializer):
  4.     class meta:
  5.         model = his_comm
  6.         fields = ('his_id','host_ip','his_user','his_command','his_time')
    设置展示序列化数据  
    views.py

点击(此处)折叠或打开

  1. from rest_framework import viewsets
  2. from serializers import
  3. userserializer,groupserializer,hisserializser
  4. from quick.models import his_comm

  5. class hisset(viewsets.modelviewset):
  6.     queryset = his_comm.objects.all()
  7.     serializer_class = hisserializser

urls.py设置路由  
    

点击(此处)折叠或打开

  1. from rest_framework import routers,urls



  2. router = routers.defaultrouter()
  3. router.register(r'hist',views.hisset)

  4. urlpatterns = [
  5.     url(r'^api/', include(router.urls)),        #接口api
  6.     url(r'^api-auth/',include('rest_framework.urls',namespace='rest_framework')),    #接口账户认证
  7. ]


实现了hist的接口实现,当使用post方法时,需要在settings. rest_framework.default_permission_classes 设置权限。是否允许匿名用户实现post数据库请求。
阅读(1639) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图