Django REST app建立视图,添加url

本文介绍了在Django REST框架中如何建立视图类,包括常见的继承自generics的视图,如ListAPIView、RetrieveDestroyAPIView等。同时,文章详细讲解了添加URL的步骤,解释了url函数的参数作用,强调URL是链接视图并呈现网站内容的关键。
摘要由CSDN通过智能技术生成

建立视图类

在模型和序列器建立完成之后,需要写业务逻辑达到访问网站内容的功能。视图类就是描述访问网站的业务逻辑的类。
在Django REST中,我们可以直接继承通用的视图类,即generics,然后根据需要,继承不同的具体功能类。

常用的继承类如下
- ListAPIView
- RetrieveAPIView
- DestroyAPIView
- UpdateAPIView
- ListCreateAPIView
- RetrieveUpdateAPIView
- RetrieveDestroyAPIView
- RetrieveUpdateDestroyAPIView

以下是具体的视图函数的运用实例:

from django.shortcuts import render

# Create your views here.


#基于Generic views
from rest_framework import generics
from computerapp.models import Product
要在 Django REST Framework 中创建一个新的应用程序,请按照以下步骤进行操作: 1. 在命令行中,使用以下命令创建一个新的 Django 应用程序: ``` python manage.py startapp myapp ``` 2. 在项目的 settings.py 文件中注册新的应用程序,将它添加到 INSTALLED_APPS 列表中: ``` INSTALLED_APPS = [ ... 'myapp', ] ``` 3. 在新的应用程序文件夹中,创建一个 serializers.py 文件来定义模型序列化器,例如: ```python from rest_framework import serializers from .models import MyModel class MyModelSerializer(serializers.ModelSerializer): class Meta: model = MyModel fields = '__all__' ``` 4. 在新的应用程序文件夹中,创建一个 views.py 文件来定义 API 视图,例如: ```python from rest_framework import viewsets from .models import MyModel from .serializers import MyModelSerializer class MyModelViewSet(viewsets.ModelViewSet): queryset = MyModel.objects.all() serializer_class = MyModelSerializer ``` 5. 在新的应用程序文件夹中,创建一个 urls.py 文件来定义应用程序路由,例如: ```python from django.urls import path, include from rest_framework import routers from .views import MyModelViewSet router = routers.DefaultRouter() router.register(r'mymodels', MyModelViewSet) urlpatterns = [ path('', include(router.urls)), ] ``` 6. 最后,在项目的 urls.py 文件中,将应用程序的路由添加到主路由中: ```python from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('myapp.urls')), ] ``` 现在你可以通过访问 /api/mymodels 来查看你新创建的 API 视图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值