安装
REST框架要求以下内容:
Python(3.5、3.6、3.7)
Django(1.11、2.0、2.1、2.2)
pip install djangorestframework
pip install django-filter
配置
django的插件通常以app的形式出现。
添加'rest_framework'到settings文件中INSTALLED_APPS设置。
INSTALLED_APPS = [
...
'rest_framework',
]
REST框架API的所有全局设置都保存在名为的单个配置字典中REST_FRAMEWORK。首先将以下内容添加到settings.py模块中:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
]
}
使用
1.在views视图中
from rest_framework import viewsets
from .serializers import NewsSerializer
class NewsViewSet(viewsets.ModelViewSet):
queryset = CarNews.objects.all()
serializer_class = NewsSerializer
上面方法为返回api接口,如果想在网页中显示,如下
2.在urls路由中
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
3.新建serializers.py文件
from rest_framework import serializers
from .models import CarNews
class NewsSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = CarNews
fields = [
'news_title', 'news_time_str', 'news_art_time', 'news_list_img',
'news_path', 'news_read_num', 'news_comment_num', 'news_abstract',
'news_art_img', 'news_art_content'
]
fields为返回api的字段,Carnews为取数据的表名
4.url调用接口
1.api接口方式
http://127.0.0.1:8000/news/api/carnews.api
2.json方式
http://127.0.0.1:8000/news/api/carnews.json