欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django+RestFramework API接口及接口文檔并返回json數(shù)據(jù)操作

 更新時(shí)間:2020年07月12日 08:35:01   作者:xingjidemimi  
這篇文章主要介紹了Django+RestFramework API接口及接口文檔并返回json數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

系統(tǒng):ubuntu18.04 x64

GitHub:https://github.com/xingjidemimi/DjangoAPI.git

安裝

pip install django==2.1.5
pip install djangorestframework # rest api
pip install coreapi pygments markdown # 自動(dòng)化接口文檔

API示例

創(chuàng)建django項(xiàng)目

django-admin startproject DjangoAPI

創(chuàng)建應(yīng)用

cd DjangoAPI

python manage.py startapp apiApp

項(xiàng)目代碼

修改settings.py,添加應(yīng)用到配置中

INSTALLED_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'rest_framework', # 添加rest_framework應(yīng)用
 'apiApp', # 添加apiApp應(yīng)用
]

執(zhí)行數(shù)據(jù)庫遷移

python manage.py migrate

創(chuàng)建管理員,會(huì)提示輸入用戶名:ubuntu,郵箱:ubuntu@ubuntu.ubuntu,密碼:ubuntu123456

python manage.py createsuperuser

修改/api/models.py,創(chuàng)建數(shù)據(jù)庫模型。

from django.db import models

class Test(models.Model):
 name = models.CharField(u'姓名', max_length=100, default='no_name')
 sex = models.CharField(u'性別', max_length=10, default='male')
 age = models.CharField(u'年齡', max_length=3, default='0')

 def __unicode__(self):
  return '%d: %s' % (self.pk, self.name)

創(chuàng)建模型后執(zhí)行:

python manage.py makemigrations # 生成數(shù)據(jù)庫遷移文件

python manage.py migrate # 執(zhí)行數(shù)據(jù)庫遷移

修改/api/admin.py,寫后臺(tái)管理代碼

from django.contrib import admin
from apiApp.models import Test
# Register your models here.

@admin.register(Test)
class BlogTypeAdmin(admin.ModelAdmin):
 list_display = ('pk', 'name') # 在后臺(tái)列表下顯示的字段

運(yùn)行項(xiàng)目

python manage.py runserver

出現(xiàn)如下內(nèi)容表明成功:

System check identified no issues (0 silenced).
January 23, 2019 - 08:28:09
Django version 2.1.5, using settings 'DjangoAPI.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

瀏覽器輸入:

http://127.0.0.1:8000/ # 出現(xiàn)django成功的界面

http://127.0.0.1:8000/admin # 進(jìn)入管理后臺(tái)

序列化模型類,在/api/下創(chuàng)建serializers.py,返回json數(shù)據(jù)

from rest_framework import serializers
from apiApp.models import Test

class TestSerializers(serializers.ModelSerializer):
 class Meta:
  model = Test # 指定的模型類
  fields = ('pk', 'name', 'sex', 'age',) # 需要序列化的屬性

修改/api/views.py,視圖

from django.shortcuts import render
from rest_framework import viewsets
from apiApp.models import Test
from apiApp.serializers import TestSerializers


class TestViewSet(viewsets.ModelViewSet):
 # 指定結(jié)果集并設(shè)置排序
 queryset = Test.objects.all().order_by('-pk')
 # 指定序列化的類
 serializer_class = TestSerializers

修改/urls.py/,配置主路由

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
 path('admin/', admin.site.urls),
 path('', include('apiApp.urls')), # 添加應(yīng)用的路由地址
]

在/api/下創(chuàng)建urls.py,配置應(yīng)用路由

from django.conf.urls import include
from django.urls import path
from rest_framework import routers
from apiApp import views
from rest_framework.documentation import include_docs_urls

API_TITLE = 'API Documents'
API_DESCRIPTION = 'API Information'


# 定義路由地址
route = routers.DefaultRouter()

# 注冊新的路由地址
route.register(r'test', views.TestViewSet)

# 注冊上一級(jí)的路由地址并添加
urlpatterns = [
 path('', include(route.urls)),
 # 接口文檔路由
 path(r'docs/', include_docs_urls(title=API_TITLE, description=API_DESCRIPTION, authentication_classes=[], permission_classes=[]))
]

運(yùn)行項(xiàng)目

python manage.py runserver

打開瀏覽器輸入:

http://127.0.0.1:8000 # api主頁

點(diǎn)擊主頁提供的鏈接http://127.0.0.1:8000/test進(jìn)入下一級(jí)目錄

http://127.0.0.1:8000/docs進(jìn)入接口文檔

使用Postman測試工具測試api數(shù)據(jù)

進(jìn)入ubuntusoftware應(yīng)用商店,搜索postman進(jìn)行安裝

在postman中輸入http://127.0.0.1:8000/api/student點(diǎn)擊send,并返回json數(shù)據(jù)。

以上這篇Django+RestFramework API接口及接口文檔并返回json數(shù)據(jù)操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用PySimpleGUI打造輕量級(jí)計(jì)算器

    Python使用PySimpleGUI打造輕量級(jí)計(jì)算器

    PySimpleGUI是一個(gè)跨平臺(tái)的Python GUI庫,它支持Windows、Mac和Linux等多種操作系統(tǒng),本文將利用PySimpleGUI打造一個(gè)輕量級(jí)計(jì)算器,希望對(duì)大家有所幫助
    2024-03-03
  • 輕松掌握Python爬蟲,從入門到精通

    輕松掌握Python爬蟲,從入門到精通

    Python爬蟲學(xué)習(xí)完整版來了!想成為一名爬蟲高手,掌握數(shù)據(jù)采集的技能嗎?這份指南將帶你從零開始,一步步掌握Python爬蟲的各種技巧,讓你輕松獲取海量數(shù)據(jù),需要的朋友可以參考下
    2024-03-03
  • Python實(shí)現(xiàn)DHCP請求方式

    Python實(shí)現(xiàn)DHCP請求方式

    這篇文章主要介紹了Python實(shí)現(xiàn)DHCP請求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 對(duì)django中foreignkey的簡單使用詳解

    對(duì)django中foreignkey的簡單使用詳解

    今天小編就為大家分享一篇對(duì)django中foreignkey的簡單使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python返回多個(gè)值與賦值多個(gè)值的示例代碼

    python返回多個(gè)值與賦值多個(gè)值的示例代碼

    在Python中函數(shù)經(jīng)常會(huì)返回多個(gè)值,下面這篇文章主要給大家介紹了關(guān)于python返回多個(gè)值與賦值多個(gè)值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • python遍歷序列enumerate函數(shù)淺析

    python遍歷序列enumerate函數(shù)淺析

    enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo)。下面通過本文給大家分享python遍歷序列enumerate函數(shù)淺析,需要的朋友參考下吧
    2017-10-10
  • python中解析json格式文件的方法示例

    python中解析json格式文件的方法示例

    這篇文章主要給大家介紹了python中解析json格式文件的相關(guān)資料,解析json文件就是編碼和解碼,本文還介紹了在解析中可能遇到的問題與解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • python實(shí)現(xiàn)文件批量重命名

    python實(shí)現(xiàn)文件批量重命名

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)文件批量重命名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • python爬蟲開發(fā)之Request模塊從安裝到詳細(xì)使用方法與實(shí)例全解

    python爬蟲開發(fā)之Request模塊從安裝到詳細(xì)使用方法與實(shí)例全解

    這篇文章主要介紹了python爬蟲開發(fā)之Request模塊從安裝到詳細(xì)使用方法與實(shí)例全解,需要的朋友可以參考下
    2020-03-03
  • Python編程實(shí)現(xiàn)小姐姐跳舞并生成詞云視頻示例

    Python編程實(shí)現(xiàn)小姐姐跳舞并生成詞云視頻示例

    本文用Python做了一個(gè)詞云視頻,以另一種角度來看小姐姐跳舞視頻左半部分是小姐姐跳舞視頻,右半部分是根據(jù)動(dòng)作生成的的詞云視頻,有需要的朋友可以借鑒參考下
    2021-10-10

最新評(píng)論