urls.py里    #

 

from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token       #导包

 

urlpatterns = [

  path('login/',obtain_jwt_token),

  path('refresh/',refresh_jwt_token),

]

 

 

 

 

#  settings.py   里

JWT_AUTH = {
  'JWT_AUTH_HEADER_PREFIX': 'JWT',
  'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),
  'JWT_RESPONSE_PAYLOAD_HANDLER':
    'user.views.UserLogin', # 重新login登录返回函数
}

 

 

#views.py  里

 

#设置Token四行代码

def create_token(user):
  jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
  jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
  payload = jwt_payload_handler(user)
  token = jwt_encode_handler(payload)
  return token

 

 

#在settings配置里指定这个函数名,就返回需要的参数

def UserLogin(token, user=None, request=None):
  return {
    "token": token,
    "username": user.username,
    "email": user.email
  }

 

posted on 2020-12-05 09:42  yujian8759  阅读(57)  评论(0编辑  收藏  举报