django使用rest_framework 实现web的api接口。
安装pip install djangorestframework
在settings配置文件中设置,加入app和权限设置
首先实现数据库,models.py
设置数据库接口序列化
serializers.py
设置展示序列化数据
views.py
urls.py设置路由
实现了hist的接口实现,当使用post方法时,需要在settings. REST_FRAMEWORK.DEFAULT_PERMISSION_CLASSES 设置权限。是否允许匿名用户实现post数据库请求。
安装pip install djangorestframework
在settings配置文件中设置,加入app和权限设置
点击(此处)折叠或打开
- INSTALLED_APPS = [
-
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'rest_framework',
- 'quick',
- 'blog',
- ]
-
- REST_FRAMEWORK = {
-
- 'DEFAULT_PERMISSION_CLASSES':(
- #only allow admin user
- #'rest_framework.permissions.IsAdminUser',
- #use django's standard users permissions,
- # or allow read-only access for unauthenticated users
- #'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly',
- ),
-
- 'PAGE_SIZE':10
- }
点击(此处)折叠或打开
- class His_Comm(models.Model):
- his_id = models.CharField(max_length=10)
- host_ip = models.GenericIPAddressField(default='')
- his_user = models.CharField(max_length=10)
- his_time = models.CharField(max_length=20)
- his_command = models.CharField(max_length=200)
-
- def __str__(self):
- return self.his_id
设置数据库接口序列化
serializers.py
点击(此处)折叠或打开
- from rest_framework import serializers
- from quick.models import His_Comm
-
- class HisSerializser(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = His_Comm
- fields = ('his_id','host_ip','his_user','his_command','his_time')
views.py
点击(此处)折叠或打开
- from rest_framework import viewsets
- from serializers import
- UserSerializer,GroupSerializer,HisSerializser
- from quick.models import His_Comm
-
- class HisSet(viewsets.ModelViewSet):
- queryset = His_Comm.objects.all()
- serializer_class = HisSerializser
urls.py设置路由
点击(此处)折叠或打开
- from rest_framework import routers,urls
-
-
-
- router = routers.DefaultRouter()
- router.register(r'hist',views.HisSet)
-
- urlpatterns = [
- url(r'^api/', include(router.urls)), #接口api
- url(r'^api-auth/',include('rest_framework.urls',namespace='rest_framework')), #接口账户认证
- ]
![](/attachment/201703/15/30261776_1489560094FAdg.png)
实现了hist的接口实现,当使用post方法时,需要在settings. REST_FRAMEWORK.DEFAULT_PERMISSION_CLASSES 设置权限。是否允许匿名用户实现post数据库请求。