使用django实现rest_framework序列化 api

      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数据库请求。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值