溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django如何使用rest_framework寫出API

發(fā)布時間:2020-07-22 16:52:37 來源:億速云 閱讀:161 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了Django如何使用rest_framework寫出API,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

在Django中用rest_framework寫API,寫了一個用戶注冊的API,并測試成功。

本人環(huán)境:Django==2.2.1;djangorestframework==3.11.0

1、安裝djangorestframework

(1)終端中輸入命令:

pip install djangorestframework

(2)在settings里面的INSTALL_APP里面,添加rest_framework應(yīng)用:

INSTALL_APP = [
  ...
  'rest_framework',
]

2、新建django項目和應(yīng)用:

django-admin startproject magic_chat

django-admin startapp chat_user #(進(jìn)入magic_chat目錄下)

python manage.py migrate # 數(shù)據(jù)寫入

3、在settings里面的INSTALL_APP里面,配置應(yīng)用:

INSTALL_APP = [
  ...
'rest_framework',
'chat_user.apps.ChatUserConfig',
]

4、在views.py中寫API代碼:

from django.contrib.auth.models
import User
from rest_framework
import status
from rest_framework.response
import Response
from rest_framework.views
import APIView
class Register(APIView):
	def post(self, request):
	""
"
注冊
	""
"
username = request.data.get('username')
password = request.data.get('password')
user = User.objects.create_user(
	username = username, password =
	password)
user.save()
context = {
	"status": status.HTTP_200_OK,
	"msg": "用戶注冊成功"
}
return Response(context)

5、配置項目的urls.py

urlpatterns = [
  path('admin/', admin.site.urls),
  path('', include('chat_user.urls')),
]

6、配置應(yīng)用的urls.py

from django.urls import path
from . import views
urlpatterns = [
  path('register/', views.Register.as_view()),
  ]

7、啟動服務(wù):

python manage.py runserver

8、驗證API可調(diào)用:

打開Postman軟件,輸入網(wǎng)址http://127.0.0.1:8000/register/,輸入?yún)?shù),選擇post方式,send發(fā)送后成功返回"status": 200,"msg": "用戶注冊成功",說明API正常。

Django如何使用rest_framework寫出API

補(bǔ)充:如果報csrf的錯,則在請求的headers部分加入鍵:X-CSRFToken ,值是cookie中的csrftoken值,再次發(fā)送請求。

看完上述內(nèi)容,是不是對Django如何使用rest_framework寫出API有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI