电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:100日期:2024-05-28 08:25:58

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

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

安裝

pip install django==2.1.5pip install djangorestframework # rest apipip 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ù)庫(kù)遷移

python manage.py migrate

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

python manage.py createsuperuser

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

from django.db import modelsclass 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ù)庫(kù)遷移文件

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

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

from django.contrib import adminfrom 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:09Django 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 serializersfrom apiApp.models import Testclass TestSerializers(serializers.ModelSerializer): class Meta: model = Test # 指定的模型類 fields = (’pk’, ’name’, ’sex’, ’age’,) # 需要序列化的屬性

修改/api/views.py,視圖

from django.shortcuts import renderfrom rest_framework import viewsetsfrom apiApp.models import Testfrom apiApp.serializers import TestSerializersclass TestViewSet(viewsets.ModelViewSet): # 指定結(jié)果集并設(shè)置排序 queryset = Test.objects.all().order_by(’-pk’) # 指定序列化的類 serializer_class = TestSerializers

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

from django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path(’admin/’, admin.site.urls), path(’’, include(’apiApp.urls’)), # 添加應(yīng)用的路由地址]

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

from django.conf.urls import includefrom django.urls import pathfrom rest_framework import routersfrom apiApp import viewsfrom rest_framework.documentation import include_docs_urlsAPI_TITLE = ’API Documents’API_DESCRIPTION = ’API Information’# 定義路由地址route = routers.DefaultRouter()# 注冊(cè)新的路由地址route.register(r’test’, views.TestViewSet)# 注冊(cè)上一級(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

打開(kāi)瀏覽器輸入:

http://127.0.0.1:8000 # api主頁(yè)

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

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

使用Postman測(cè)試工具測(cè)試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ù)操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 烟台金蝶财务软件,烟台网站建设,烟台网络推广| 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 氟塑料磁力泵-不锈钢离心泵-耐腐蚀化工泵厂家「皖金泵阀」 | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 胶原检测试剂盒,弹性蛋白检测试剂盒,类克ELISA试剂盒,阿达木单抗ELISA试剂盒-北京群晓科苑生物技术有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 低温等离子清洗机(双气路进口)-嘉润万丰 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | ge超声波测厚仪-电动涂膜机-电动划格仪-上海洪富 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 北京公司注册_代理记账_代办商标注册工商执照-企力宝 | 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | 电动打包机_气动打包机_钢带捆扎机_废纸打包机_手动捆扎机 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | RFID电子标签厂家-上海尼太普电子有限公司| 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 |