Django使用Restful框架Framework教程

安装包
pip install djangorestframework -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip install markdown  -i https://pypi.tuna.tsinghua.edu.cn/simple some-package  # Markdown support for the browsable API.
pip install django-filter -i https://pypi.tuna.tsinghua.edu.cn/simple some-package  
# Filtering support
myproject/settings.py
INSTALLED_APPS中添加
'rest_framework',
'myapp'


LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'
myproject/urls.py
from django.contrib import admin
from django.urls import path,include
import myapp


urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/',include('myapp.urls'))
]
myapp/urls.py
from rest_framework.routers import DefaultRouter
from myapp import views

router = DefaultRouter()
router.register('',views.HelloWorldViewSet,basename='hello')

urlpatterns = router.urls
myapp/models.py
from django.db import models

# Create your models here.

class Group(models.Model):
    name=models.CharField(verbose_name='小组名字',max_length=5)
    class Meta:
        verbose_name_plural='小组表'
    def __str__(self):
        return self.name

class Student(models.Model):
    name=models.CharField(verbose_name='学生名字',max_length=10)
    age=models.IntegerField(verbose_name='学生年龄')
    class Meta:
        verbose_name_plural='学生表'
    def __str__(self):
        return self.name
myapp/admin.py
from django.contrib import admin
from myapp import models
# Register your models here.

admin.site.register(models.Group)
admin.site.register(models.Student)

myapp/views.py
from django.db.models import Q, query
from myapp.serializers import *
from myapp import models
from rest_framework.viewsets import GenericViewSet
from rest_framework.decorators import action
from rest_framework.response import Response
from rest_framework import pagination                #分页
import datetime
import os
from f import settings

# Create your views here.


class HelloWorldViewSet(GenericViewSet):
    """hello"""
    queryset=''
    @action(detail=False)
    def bye(self,request):
        self.queryset=models.Student.objects.all()
        res=StudentSerializer(self.queryset,many=True)
        return Response({'student':res.data})
    
myapp/serializers.py
from django.db import models
from django.db.models import fields
from rest_framework.serializers import ModelSerializer
from .models import *

class GroupSerializer(ModelSerializer):

    class Meta:
        model=Group
        fields='__all__'


class StudentSerializer(ModelSerializer):
    class Meta:
        model=Student
        fields='__all__'
进入网址
http://127.0.0.1:8000/myapp/bye/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值