初识Django REST framework

前言

其实刚开始学习Django的时候听到过REST framework这个词,当时上课昏昏欲睡,只是大概有一个印象而已,然后就忽略过去了...
 直到最近打算重新写一下以前使用Django写的博客s,然后发现当初写的代码好乱,然后就是一顿操作下来,遇到一个问题:
 当我想使用一个路由通过ajax进行不同的操作的时候会变得特别麻烦,这个时候才多多少少想起来REST framework这个框架了

于是就找来学了..

安装所需

下面这三个是官网推荐的安装的:

pip install djangorestframework
pip install markdown  # Markdown support for the browsable API.
pip install django-filter # Filtering support

环境

  • Python (3.6.2)
  • Django (2.1.7)
  • djangorestframework (3.9.2)
  • mysql (5.6)

关于Django的版本,使用1.x的版本也是可以的,1.x和2.x的版本在urls配置上有略微的差异,这个无关紧要

对项目进行基本的配置

  • 创建项目
    这里我就不使用命令创建了(windows直接File-> New Project -> Django就好了)...记得创建项目的同时也要创建app,这里我就以创建的项目名为:REST为例子了~

  • Settings配置

# 我们需要将rest_framework 注册到settings里面
INSTALLED_APPS = [
    ...
    'rest_framework',
]
  • models配置
# 我们这个只是进行演示,测试使用,所以就写两个字段
class User(models.Model):
    user = models.CharField(max_length=32)
    pwd = models.CharField(max_length=32)
    class Meta:
        db_table = 'user'   # 不写这个在你迁移生成表的时候总会带你的app的名字的前缀,我不喜欢所以就给他重新定义一下

记得进行迁移
如果你在迁移的时候出现错误的话,看一下REST下的init里面你对数据库进行连接了没有

  • urls配置
    • REST下的urls配置
    urlpatterns = [
        path('',include("app.urls",namespace='index')),
    ]
    
    • app下的urls配置
    from app import views
    app_name = 'index' # 因为是2.x的版本 使用命名空间的话在app的urls里面需要写上这个声明一下
    urlpatterns = [
        path('',views.GetMseeageView.as_view(),name='add')
    ]
    

我看网上还有一个序列化的文件这里面暂时不写(我还没弄懂- _ -! )

  • Views配置

    from django.http import JsonResponse
    from django.shortcuts import render
    # Create your views here.
    from rest_framework.views import APIView
    
    from app.models import User
    
    class GetMseeageView(APIView):
    
        def get(self,request):
            return render(request,'index.html')
    
        def post(self, request):
            post = request.POST
            name = post.get('name')
            pwd = post.get('pwd')
            print(name,"---",pwd)
            u = User()
            u.user = name
            u.pwd = pwd
            u.save()
            return JsonResponse(data={'sta':200,"msg":"添加成功"})
    
  • 模板配置

    
        
        
        
    
    
    
    
    

结束

在控制台输入python manage.py runserver后,我们直接访问http://127.0.0.1:8000就可以看到我们的页面了,然后F12打开控制台,点击Console,然后我们在输入框输入内容之后点击提交按钮,在控制台会看到返回的内容{sta: 200, msg: "添加成功"},这样一个简单的REST framework 就完成了~~

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