当前位置: 首页 > news >正文

上海公司网站建设东营市住房和城乡建设局网站

上海公司网站建设,东营市住房和城乡建设局网站,软件下载网站开发,网站标题 关键字怎么设置代码文章目录 项目地址一、django环境安装以及初识restful1.1 安装python 3.10的虚拟环境1.2 创建django工程文件1.3 创建一个book app1.4 序列化(Django JsonResponse)1.4.1创建一个Models1.4.2 创建django的超级用户admin1.4.3 添加serializers.py生成序列化器1.5 FBV创建视图1… 文章目录 项目地址一、django环境安装以及初识restful1.1 安装python 3.10的虚拟环境1.2 创建django工程文件1.3 创建一个book app1.4 序列化(Django JsonResponse)1.4.1创建一个Models1.4.2 创建django的超级用户admin1.4.3 添加serializers.py生成序列化器 1.5 FBV创建视图1.5.1 在app里创建django 视图1.5.2创建app的urls路由1.5.3 将app的路由注册到项目的路由1.5.4 整体流程梳理1.5.5 创建一个可以通过传递id来get/post1.5.6 使用restful风格改写views 1.6 CBV1.6.1 使用restful的APIView类来创建 二、Django restful组件研究2.1 APIView的主要作用2.1 序列化器serializer2.1.1 创建一个Book模型类2.1.2 设计book类的序列化器2.1.3 设计view,get/post请求2.1.4 将视图view添加到project路由里2.1.5 项目结构2.1.6 对单个对象进行操作 2.2 使用ModelSerializer2.3 GenericAPIView 实现增删改查2.4.1 创建多个Models 项目地址 第一章: 教程作者:Codingstrade教程地址:https://www.CSDN.com/watch?v=z6WudaByH1kt=120s代码仓库地址:所用到的框架和插件:django djangorestfui插件django thunder client sqlite view第二章: 课程i地址: https://www.bilibili.com/video/BV1z5411D7BQ?spm_id_from=333.788.videopod.episodesvd_source=791e6deaa9c8a56b1f845a0bc1431b71p=17一、django环境安装以及初识restful 1.1 安装python 3.10的虚拟环境 pipenv 安装指定版本的pythonpipenv --python 3.10另外一种方法python3.10 -m venv venv运行虚拟环境pipenv shell另一种方法.\venv\Scripts\activate安装djangopipenv install django安装所有的包requirements.txtdjango=4.0.0,4.1.0 djangorestframework pyyaml requests django-cors-headers安装pip install -r requirements.txt1.2 创建django工程文件 创建项目myapi是项目的名称django-admin startproject myapi查看文件 运行django,默认localhost:8000 py manage.py runserver 1.3 创建一个book app 控制台输入py manage.py startapp book 成功后,文件夹目录 注册APP到django里 1.4 序列化(Django JsonResponse) 将数据库内容 转为python的格式 1.4.1创建一个Models 在api/models.py里创建from django.db import models# Create your models here. class Post(models.Model):title = models.CharField(max_length=120)author = models.CharField(max_length=120)email = models.EmailField( default='')注册Modelspython manage.py makemigrations创建models表python manage.py miggrateres_api/admin.py注册我们的Modelsadmin.site.register(Post)1.4.2 创建django的超级用户admin 创建超级用户python manage.py createsuperuser创建完成之后登录到http://127.0.0.1:8000/admin/成功之后在post里添加一个用户,用于我们将来的测试1.4.3 添加serializers.py生成序列化器 在serializers.py文件里添加from rest_framework import serializers from .models import Post class PostSerializer(serializers.ModelSerializer):class Meta:model = Postfields = ['title', 'author', 'email']1.5 FBV创建视图 该模式下,不管是django原生,还是restful风格,都是函数式编程1.5.1 在app里创建django 视图 创建res_api/views.pyfrom django.shortcuts import render from .models import Post from .serializers import PostSerializer from django.http import JsonResponse from rest_framework.parsers import JSONParser from django.views.decorators.csrf import csrf_exempt #测试postman使用# Create your views here. @csrf_exempt def PostsView(request):if request.method == 'GET':posts = Post.objects.all()serializer = PostSerializer(posts, many=True)return JsonResponse(serializer.data, safe=False)elif request.method == 'POST':post_data = JSONParser().parse(request)serializer = PostSerializer(data=post_data)if serializer.is_valid():serializer.save()return JsonResponse(serializer.data, status=201)return JsonResponse(serializer.errors, status=400)1.5.2创建app的urls路由 1.创建res_api/urls.py:注意,这里的只是app的路由 ,并不是项目的路由, from django.urls import path from .views import PostsViewurlpatterns = [path('posts/', PostsView), ]1.5.3 将app的路由注册到项目的路由 1.drf/urls.py里添加 from django.contrib import admin from django.urls import path,includeurlpatterns = [path('admin/', admin.site.urls),path('', include('res_api.urls')), ]1.5.4 整体流程梳理 在app里创建models,这个models一般对应的数据库里的数据res_api/models.py,使得python可以从数据库里取数创建完之后,将models在app的admin下面注册res_api/admin.py,让django知道这个models模型序列化Models,res_api/serializers.py,这里一般就是对表中的字段进行序列化序列化完整之后需要构建view,res_api/views.py,这里的功能是告诉django如何取到models序列化好的数据,怎么取,以什么方式来取注册app自己的路由res_api/views.py,告诉django 该app的models通过什么字段能访问将app的路由注册到project里,这样浏览器就可以通过项目的地址+app里定义的字段访问到我们的models数据至此,有个bug就是post的提交方式是和get一样,我们需要将他改为posts的方式1.5.5 创建一个可以通过传递id来get/post rest_aip/views.py添加一个新的函数,用来处理传递的id@csrf_exempt def postuser_by_id(request, pk):try:post = PostUsers.objects.get(pk=pk)except PostUsers.DoesNotExist:return HttpResponse(status=404)if request.method == 'GET':serializer = PostSerializer(post)return JsonResponse(serializer.data)elif request.method == 'PUT':post_data = JSONParser().parse(request)serializer = PostSerializer(post, data=post_data)if serializer.is_valid():serializer.save()return JsonResponse(serializer.data)return JsonResponse(serializer.errors, status=400)elif request.method == 'DELETE':post.delete()return HttpResponse(status=204)将我们的函数,注册到我们的app的urls里,res_api/urls.pyurlpatterns = [path('postusers/', PostUsersView), path('detials/int:pk', postuser_by_id), # using int:pk to get the id of the post ]测试,成功1.5.6 使用restful风格改写views 修改res_api/views.pyfrom django.shortcuts import render from .models import PostUsers from .serializers import PostSerializer from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework import status@api_view(['GET', 'POST']) def PostUsersView(request):if request.method == 'GET':posts = PostUsers.objects.all() #quertSetserializer = PostSerializer(posts, many=True)return Response(serializer.data)elif request.method == 'POST':serializer = PostSerializer(data=request.data)if serializer.is_valid():serializer.save()return Response(serializer.data, status=status.HTTP_201_CREATED)return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)@api_view(['GET', 'PUT', 'DELETE']) def postuser_by_id(request,
http://www.hkea.cn/news/14488919/

相关文章:

  • 做网站还要什么认证吗php网站开发报告
  • 网站速度慢的原因公司的官网建设
  • 重庆网站建设解决方案及流程网站建设横幅
  • 网站建设自网站建设费用报价
  • 网站开发 wenzhoudw做网站怎么替换字体
  • 网站建设需要哪些资料图书馆新生专栏网站建设
  • 嘉兴免费网站制作wordpress 图片不显示
  • 福建省建设厅官方网站菜鸟零基础如何自学编程
  • 订阅号怎么做网站广告公司简介简短大气
  • 运城网站建设公司建设特效网站
  • 深圳专业网站建设公司做网站算 自由职业者
  • 推荐几个没封的网站中国贸易服务网
  • 知名网站定制公司电话网站开发一般用什么技术
  • 做电脑系统那个网站好点龙岗网站建设电话
  • 网站建设芜湖房地产网站设计
  • 企业网站服务器多少钱seo好学吗入门怎么学
  • 建立一个国外的网站小白一步步做网站
  • 网站上的网站地图怎么做聊天网站站怎么做
  • 建设银行园区公积金管理中心网站建设公司网站的原则
  • 重庆市公司网站备案在哪了wordpress做产品页教程视频
  • 怎么做免费的网站推广王野天 演员
  • 网站排名怎么做上去衣柜全屋定制排名
  • 保定 网站制作wordpress 会员支付
  • 网站的推广平台有哪些国外网站设计风格
  • 头条网站怎么做的wordpress代码转义
  • 制造业小程序网站开发广告公司简介模板免费
  • 设计logo网站推荐书店网站建设
  • 甘州区建设局网站网站免费做招生宣传语
  • 网络班级网站建设交友app搭建
  • 注册网站会员 我们的信息外贸询单