原理概述:
前后端的分离,后台接口实际上就是在Django页面返回JSON数据,以便前台通过页面get/post/request/respone,来获取或上传JSON数据。Django和RestFramwork的安装教程很多,大家自己去搜就行。我说一下自己时间的内容。
在Django创建一个app:flightplan
- 在model.py创建1个flightplan类,并migrate到mysql
- 在views.py创建FlightPlanViewSet(mixins.ListModelMixin, viewsets.GenericViewSet);
class FlightPlanViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
queryset = FlightPlan.objects.all()
serializer_class = FlightPlanSerializer
- 手工创建serializers.py类,用于序列化Model对象并返回给ViewSet; serializers.py设置需要序列化的model,然后设置序列化的字段;
-
class FlightPlanSerializer(serializers.ModelSerializer):
class Meta:
model = FlightPlan
fields = "__all__"
- 修改Django目录下的urls.py文件,通过routers设置ViewSet的网页路径
-
from rest_framework.routers import DefaultRouter
from flightplan.views import FlightPlanViewSet
router = DefaultRouter()
router.register(r'flightplan', FlightPlanViewSet, basename="flightplan")
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^', include(router.urls)),
]
-
然后运行项目,就可以通过http://127.0.0.1:8000获得DRF的API页面,里面有个接口是FlightPlan,页面地址是http://127.0.0.1:8000/FlightPlan,访问该地址就可以获得ViewSet返回的序列化数据。