Python学习笔记:7.5.3 Django快速建站 - Web开发实战API1

前言:本文是学习网易微专业的《python全栈工程师 - Django快速建站》课程的笔记,欢迎学习交流。同时感谢老师们的精彩传授!

一、课程目标
  • 理解API概念
  • 初步了解Django REST framework的应用
二、详情解读
2.1.API
2.1.1.名词解释
  • 接口:
    – 泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。
    – 硬件类接口:是指同一计算机不同功能层之间的通信规则称为接口。
    – 软件类接口:是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某引起操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。

  • API,Application Programming Intergace:应用程序接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而不是需访问原码,或理解内部工作机制的细节。

2.1.2.API举例
  • GET:https://api.github.com/users/qiwsir
    – 调试方法1:用网页请求
    – 调试方法2:用python中的requests
    – 调试方法3(工程方法):用专用工具postman(https://www.getpostman.com/)

方法一访问结果:
在这里插入图片描述
方法三访问结果:
在这里插入图片描述

2.2.Django项目的API
2.2.1.创建项目
  • 创建虚拟环境
python3 -m venv djapi
cd djapi
source ./bin/activate  # 启动
  • 安装Django(先用2.2版本的,3版本的稳定后再用)
pip install django==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 创建项目
django-admin startproject blog
  • 同步数据库
python manage.py migrate
  • 创建超级管理员
python manage.py createsuperuser
  • 运行项目
python manage.py runserver
  • 访问:http://localhost:8000/admin
2.2.2.Django REST framework
pip install djangorestframework
pip install markdown # Markdown support for the browsable API.
pip install django-filter # Filtering support
2.2.3.配置
  • 创建应用: python manage.py startapp siteusers
  • blog/settings.py
INSTALLED_APPS = [
	......
	'rest_framework',
	'siteusers',
]
  • blog/urls.py
from django.urls import path, include

urlpatterns = [
	......
	path('api/v1/', include('siteusers.urls')),
]
2.2.4.API
  • siteusers下创建目录api
    serializers.py
    views.py
  • 创建siteusers/urls.py

serializers.py文件代码如下:

from django.contrib.auth.models import User, Group
from rest_framework import serializers

class UserSerializer(serializers.HyperlinkedModelSerializer):
	class Meta:
		model = User
		fields = ['username', 'email']

views.py文件代码如下:

from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from siteusers.api.serializers import UserSerializer

class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer

urls.py文件代码如下:

from django.urls import path, include
from rest_framework import routers
from siteusers.api import views

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)

urlpatterns = [
    path('', include(router.urls))
]

访问地址:http://127.0.0.1:8000/api/v1/users/
在这里插入图片描述
下面用postman测试users接口:
查询用户列表api
在这里插入图片描述
查询指定用户api
在这里插入图片描述

三、课程小结
  • 初步了解接口概念
  • 初步了解django REST framework
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值