国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

代理注冊公司怎么樣成都抖音seo

代理注冊公司怎么樣,成都抖音seo,攝影網(wǎng)頁設(shè)計案例,網(wǎng)絡(luò)服務(wù)相關(guān)資料文章目錄 項目地址一、django環(huán)境安裝以及初識restful1.1 安裝python 3.10的虛擬環(huán)境1.2 創(chuàng)建django工程文件1.3 創(chuàng)建一個book app1.4 序列化(Django JsonResponse)1.4.1創(chuàng)建一個Models1.4.2 創(chuàng)建django的超級用戶admin1.4.3 添加serializers.py生成序列化器1.5 FBV創(chuàng)建視圖1…

文章目錄

  • 項目地址
  • 一、django環(huán)境安裝以及初識restful
    • 1.1 安裝python 3.10的虛擬環(huán)境
    • 1.2 創(chuàng)建django工程文件
    • 1.3 創(chuàng)建一個book app
    • 1.4 序列化(Django JsonResponse)
      • 1.4.1創(chuàng)建一個Models
      • 1.4.2 創(chuàng)建django的超級用戶admin
      • 1.4.3 添加serializers.py生成序列化器
    • 1.5 FBV創(chuàng)建視圖
      • 1.5.1 在app里創(chuàng)建django 視圖
      • 1.5.2創(chuàng)建app的urls路由
      • 1.5.3 將app的路由注冊到項目的路由
      • 1.5.4 整體流程梳理
      • 1.5.5 創(chuàng)建一個可以通過傳遞id來get/post
      • 1.5.6 使用restful風(fēng)格改寫views
    • 1.6 CBV
      • 1.6.1 使用restful的APIView類來創(chuàng)建
  • 二、Django restful組件研究
    • 2.1 APIView的主要作用
    • 2.1 序列化器serializer
      • 2.1.1 創(chuàng)建一個Book模型類
      • 2.1.2 設(shè)計book類的序列化器
      • 2.1.3 設(shè)計view,get/post請求
      • 2.1.4 將視圖view添加到project路由里
      • 2.1.5 項目結(jié)構(gòu)
      • 2.1.6 對單個對象進行操作
    • 2.2 使用ModelSerializer
    • 2.3 GenericAPIView 實現(xiàn)增刪改查
      • 2.4.1 創(chuàng)建多個Models


項目地址

第一章:

  • 教程作者:Codingstrade
  • 教程地址:
https://www.CSDN.com/watch?v=z6WudaByH1k&t=120s
  • 代碼倉庫地址:
  • 所用到的框架和插件:
django
djangorestfui
  • 插件
django 
thunder client
sqlite view

第二章:
課程i地址:

https://www.bilibili.com/video/BV1z5411D7BQ?spm_id_from=333.788.videopod.episodes&vd_source=791e6deaa9c8a56b1f845a0bc1431b71&p=17

一、django環(huán)境安裝以及初識restful

1.1 安裝python 3.10的虛擬環(huán)境

  1. pipenv 安裝指定版本的python
pipenv --python 3.10
  • 另外一種方法
python3.10 -m venv venv
  1. 運行虛擬環(huán)境
pipenv shell
  • 另一種方法
.\venv\Scripts\activate

在這里插入圖片描述

  1. 安裝django
pipenv install django
  • 安裝所有的包requirements.txt
django>=4.0.0,<4.1.0
djangorestframework
pyyaml
requests
django-cors-headers
  • 安裝
pip install -r requirements.txt

1.2 創(chuàng)建django工程文件

  1. 創(chuàng)建項目myapi是項目的名稱
django-admin startproject myapi
  1. 查看文件
    在這里插入圖片描述

  2. 運行django,默認localhost:8000

py manage.py runserver 

在這里插入圖片描述

1.3 創(chuàng)建一個book app

  1. 控制臺輸入
py manage.py startapp book 
  1. 成功后,文件夾目錄
    在這里插入圖片描述

  2. 注冊APP到django里
    在這里插入圖片描述

1.4 序列化(Django JsonResponse)

將數(shù)據(jù)庫內(nèi)容 轉(zhuǎn)為python的格式

1.4.1創(chuàng)建一個Models

  1. api/models.py里創(chuàng)建
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='')
  1. 注冊Models
python manage.py makemigrations
  1. 創(chuàng)建models表
python manage.py miggrate
  1. res_api/admin.py注冊我們的Models
admin.site.register(Post)

1.4.2 創(chuàng)建django的超級用戶admin

  1. 創(chuàng)建超級用戶
python manage.py createsuperuser
  1. 創(chuàng)建完成之后登錄到
http://127.0.0.1:8000/admin/

在這里插入圖片描述

  1. 成功之后在post里添加一個用戶,用于我們將來的測試

1.4.3 添加serializers.py生成序列化器

  1. 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創(chuàng)建視圖

  • 該模式下,不管是django原生,還是restful風(fēng)格,都是函數(shù)式編程

1.5.1 在app里創(chuàng)建django 視圖

  1. 創(chuàng)建res_api/views.py
from 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創(chuàng)建app的urls路由

1.創(chuàng)建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 整體流程梳理

  1. 在app里創(chuàng)建models,這個models一般對應(yīng)的數(shù)據(jù)庫里的數(shù)據(jù)res_api/models.py,使得python可以從數(shù)據(jù)庫里取數(shù)
  2. 創(chuàng)建完之后,將models在app的admin下面注冊res_api/admin.py,讓django知道這個models模型
  3. 序列化Models,res_api/serializers.py,這里一般就是對表中的字段進行序列化
  4. 序列化完整之后需要構(gòu)建view,res_api/views.py,這里的功能是告訴django如何取到models序列化好的數(shù)據(jù),怎么取,以什么方式來取
  5. 注冊app自己的路由res_api/views.py,告訴django 該app的models通過什么字段能訪問
  6. 將app的路由注冊到project里,這樣瀏覽器就可以通過項目的地址+app里定義的字段訪問到我們的models數(shù)據(jù)
  • 至此,有個bug就是post的提交方式是和get一樣,我們需要將他改為posts的方式

1.5.5 創(chuàng)建一個可以通過傳遞id來get/post

  1. rest_aip/views.py添加一個新的函數(shù),用來處理傳遞的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)
  1. 將我們的函數(shù),注冊到我們的app的urls里,res_api/urls.py
urlpatterns = [path('postusers/', PostUsersView), path('detials/<int:pk>', postuser_by_id),  # using <int:pk> to get the id of the post
]
  1. 測試,成功

1.5.6 使用restful風(fēng)格改寫views

  1. 修改res_api/views.py
from 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://m.aloenet.com.cn/news/39082.html

相關(guān)文章:

  • dw網(wǎng)站制作廊坊百度快照優(yōu)化排名
  • 使用三劍客做網(wǎng)站柳州網(wǎng)站建設(shè)哪里有
  • 做鋼絲繩外貿(mào)的網(wǎng)站免費拓客軟件哪個好用
  • 個人可以做慈善網(wǎng)站嗎關(guān)聯(lián)詞有哪些關(guān)系
  • 知名網(wǎng)站建設(shè)企業(yè)nba湖人最新新聞
  • 網(wǎng)站設(shè)計 韓國關(guān)鍵詞排名優(yōu)化公司哪家好
  • 網(wǎng)站建設(shè)公司怎么盈利高明公司搜索seo
  • 做介紹美食網(wǎng)站的菜單的傳媒網(wǎng)站
  • 阿里云做電影網(wǎng)站嗎常用的關(guān)鍵詞挖掘工具
  • 郴州seo排名搜外網(wǎng) seo教程
  • 網(wǎng)站空間500m是什么百度 指數(shù)
  • 如何申請免費的網(wǎng)站空間優(yōu)化營商環(huán)境的意義
  • 重慶做網(wǎng)站公司有哪些產(chǎn)品推廣方案怎么寫
  • 北京南昌企業(yè)網(wǎng)站制作創(chuàng)建網(wǎng)站需要什么條件
  • 上海網(wǎng)站推廣服務(wù)公司網(wǎng)絡(luò)推廣電話銷售技巧和話術(shù)
  • 個人網(wǎng)站的色彩設(shè)計怎么做香港服務(wù)器
  • 手機端企業(yè)網(wǎng)站模板新聞稿范文300字
  • 江蘇省建設(shè)廳網(wǎng)站建造師欄網(wǎng)絡(luò)推廣圖片
  • 網(wǎng)頁設(shè)計與制作視頻seo網(wǎng)絡(luò)推廣優(yōu)勢
  • 安平誰做網(wǎng)站好如何推廣自己的業(yè)務(wù)
  • 網(wǎng)站開發(fā) 方案搜索引擎優(yōu)化課程總結(jié)
  • 網(wǎng)站鏈接的常見形式如何把品牌推廣出去
  • 備案網(wǎng)站的黑名單完整的品牌推廣方案
  • 開源企業(yè)網(wǎng)站建設(shè)系統(tǒng)seo網(wǎng)站優(yōu)化教程
  • 公眾號和網(wǎng)站先做哪個廣告投放平臺
  • 建設(shè)網(wǎng)站需要的軟硬件重慶公司seo
  • 南昌做網(wǎng)站優(yōu)化價格愛站工具包官網(wǎng)下載
  • 網(wǎng)站開發(fā)學(xué)什么編程語言怎么開網(wǎng)店
  • 游戲代理300元一天網(wǎng)絡(luò)seo是什么意思
  • 深圳市南山區(qū)住房和建設(shè)局官方網(wǎng)站抖音seo排名優(yōu)化公司