pycharm配置django rest framework

 

  1. 安装django rest framework
    pip install 
  2. 添加rest_framework app  在settings.py
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
       //添加 rest_framework 应用,在你自己创建的app上面
        'rest_framework',
        'devops',
    ]
  3. 连接mysql数据库
    请参考这个链接
  4. 编辑model,创建ORM模型
    from django.db import models
    class SystemBaseInfo(models.Model):
        # 系统IP地址
        sip = models.GenericIPAddressField('sip', protocol='both', blank=True, null=True, default='0.0.0.0')
        # 带外管理IP地址
        mip = models.GenericIPAddressField('mip', protocol='both', blank=True, null=True, default='0.0.0.0')
        # 隶属业务线
        service_line = models.CharField('service_line', max_length=32, default='none')
        # 业务类别
        service_class = models.CharField('service_class', max_length=32, default='none')



    // 检查ORM模型有没有错误
    python manage.py makemigrations
    // 执行变更
    python manage.py migrate
  5. 创建序列化文件,在你的应用下面 serializers.py
    from rest_framework import serializers
    from devops import models
    
    # 将serializers和model连接起来
    class SystemBaseInfo(serializers.HyperlinkedModelSerializer):
        class Meta:
            model = models.SystemBaseInfo
            fields = '__all__'
  6. 在views.py 创建viewset
    from django.shortcuts import render, HttpResponse
    
    from rest_framework import viewsets
    from devops import models
    from devops import serializers as ss
    
    
    
    # 这个文件的作用是querysets和model instances这些复杂的数据结构转化为native Python
    # 以便于以json,xml或其它内容类型的形式render出去。

    class SystemBaseInfo(viewsets.ModelViewSet): queryset = models.SystemBaseInfo.objects.all() serializer_class = ss.SystemBaseInfo def index(request): return HttpResponse('ok')
  7. 配置urls.py
    """autoever URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/3.1/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
    """
    from django.contrib import admin
    from django.urls import path
    from devops import views as devops
    
    # 新增---导入库
    from django.conf.urls import url, include
    from rest_framework import routers, serializers, viewsets
    
    # 新增--添加router
    router = routers.DefaultRouter()
    router.register('systeminfo', devops.SystemBaseInfo)
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', devops.index),
        path('index/', devops.index),
    # 新增 path(
    'api-auth/', include('rest_framework.urls', namespace='rest_framework')), path('api/v1/', include(router.urls)), ]

     

  8. 测试

    http://127.0.0.1:8000/api/v1/

 

posted @ 2020-08-11 15:26  流沙之操作系统  阅读(668)  评论(0)    收藏  举报