Django Rest Framework 电商项目 5-3 阅读官方文档

接下来的几节,通过商品列表页的实现过一遍Django REST framework的相关api。

在进行编写时,希望读者结合Django REST framework的官方文档进行,这样对以后的进阶会有很大好处。

今后Django REST framework我将简称为DRF。

这是DRF首页对DRF的介绍:

Django REST framework is a powerful and flexible toolkit for building Web APIs.

Some reasons you might want to use REST framework:

  • The Web browsable API is a huge usability win for your developers.(DRF杀手级的功能,后期就会知道用起来很爽)
  • Authentication policies including packages for OAuth1a and OAuth2.(第三方登录一般会用OAuth2)
  • Serialization that supports both ORM and non-ORM data sources.(DRF一个十分核心的东西,为我们序列化是提供方便)
  • Customizable all the way down - just use regular function-based views if you don't need the more powerful features.(fbv方式和cbv方式都提供了,我们采用的是cbv方式)
  • Extensive documentation, and great community support.(文档和社区支持)
  • Used and trusted by internationally recognised companies including Mozilla, Red Hat, Heroku, and Eventbrite.(许多大型网站都在使用DRF)

在首页的Requirements中,我们发现有两个依赖还没有安装,分别是coreapi(与文档功能相关)和django-guardian。点击他们可以获取安装方法。

命令行进入虚拟环境,输入:

pip install django-guardian
pip install coreapi
pip install Pygments

分别用以支持对象级别的权限和生成文档。

在安装coreapi的时候出现了utf8的decode的错误,参见我的另一篇博客:https://blog.csdn.net/liujh_990807/article/details/99130614(执行 pip install coreapi 的时候报 utf8 decode 的错)。

安装完coreapi后,我们就可以使用DRF给我们提供的文档功能了。

在与settings.py同级的urls.py下,新增:

from rest_framework.documentation import include_docs_urls

再在urlpatterns变量中新增:

 url(r'docs/', include_docs_urls(title="慕学生鲜")),

注意一样要将正则表达式中的$符号去掉。这实际上就是DRF自动生成文档的一个配置。

运行一下项目,没有报错,则继续。

依旧是结合官方文档来写,在Installation中,我们知道,需要在settings.py中配置DRF,在INSTALLED_APPS中添加:

'rest_framework',

还要在根urls.py文件的urlpatterns中添加一条:

url(r'^api-auth/', include('rest_framework.urls')),

这是DRF登陆的一个url,以后调试api时会用到。

再把include引入:

from django.conf.urls import url, include

运行一下项目,没有报错,则继续。

DRF官方文档的Example中,首先是对DRF配置的介绍,然后是一些使用的例子,先不管它们。

你可能感兴趣的:(Django,REST,framework)