標籤:eth led ica ase miss default style else strong
開發環境:django1.10 + djangoRestframework3.5 + python3.5 + angularJs
環境設定:
django-restframework
INSTALLED_APPS = ( ... ‘rest_framework‘,
)REST_FRAMEWORK = { ‘DEFAULT_PERMISSION_CLASSES‘: (‘rest_framework.permissions.IsAdminUser‘,), ‘PAGE_SIZE‘: 10}
django-database:
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.sqlite3‘, ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘), }}
API
登陸:api/loginUser
返回結果:
實現:
serializers:
class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = (‘username‘, ‘email‘)
views:
@api_view([‘GET‘])# @permission_classes((permissions.AllowAny,))def loginUser(request): if request.method == ‘GET‘: #擷取 data = request.query_params username = data[‘username‘] password = data[‘password‘] #使用者驗證並返回user對象 user = authenticate(username=username, password=password) #執行個體化序列化類別 serializer = UserSerializer(user) #返回json資料 return Response(serializer.data)
註冊:api/registUser
返回結果:
實現:
serializers:
class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = (‘username‘, ‘email‘)
views:
@api_view([‘GET‘,‘POST‘])def registUser(request): if request.method == ‘POST‘: print(‘wtf‘) serializer = UserSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data,status=status.HTTP_201_CREATED) else: return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
前台:
autotes開發文檔