了解了 Django 的运作之後,相信大家一步步对 Django 的操作更佳的熟悉,在前面我们介绍了 Model , View, Url,疑,那 MTV 当中的 T - Template 呢? 由於这系列文章为 API的实作,比较不会用到 Template 的功能,为了怕模糊焦点,就不多介绍 Template了。有兴趣的朋友还是可以到 Django 官网进行学习。
目录结构:
app
│── manage.py
├── app
│ ├── settings
│ ├── init.py
│ ├── urls.py
│ └── wsgi.py
├── products
│ ├── migrations
│ │ └── init.py
│ ├── init.py
│ ├── admin.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
透过 serializer 将资料进行序列化,与 Model 进行互动。
在 products 资料夹下新增 serializers.py 档
from rest_framework import serializers
from models import Product
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ('id', 'name', 'uploader', 'status', 'description', 'view', 'price')
read_only_fields = ('id',)
修改 views.py
from models import Product
from serializers import ProductSerializer
class ProductViewSet(viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
新增 products 下之 urls.py 的路径
from django.urls import path, include
from .views import *
from rest_framework.routers import DefaultRouter
from products import views
router = DefaultRouter()
router.register('', views.ProductViewSet)
app_name = 'products'
urlpatterns = [
path('', include(router.urls) ),
]
在app 资料夹下的 urls.py 新增路径
path('products/', include('products.urls')),
重新启动 DRF 应用
docker-compose up
输入 ”http://127.0.0.1:9000/products/"
,可以看到我们实作的功能。
今天带大家使用 DRF 实作第一个 API,不知道大家感觉如何呢?
虽然需要熟悉 DRF的方法需要一些时间,但是熟悉之後可以帮助我们很高效率的建立 API !
>>: [Day15] Server - 中场来点 NGINX 设定
延续上篇还没介绍完的Arm Mali GPU系列解决方案,今天要来接着介绍Mali-G510 GPU...
09-05-2021 React Component 是基於元件化的思考模式 本章内容 Compon...
EditText与TextView相似,但EditText用於APP需要输入资料时,例如:输入姓名、...
-波特的价值链(Porter’s Value Chain) 业务就是提供产品和服务以创造价值并实现...
前言 Reactive的世界里,我们已经知道了从接收request(Spring WebFlux)进...