Django前后端分离,URL传参的两种方式

2019-04-19  本文已影响0人  明灭_

场景

uni-app + django,前后端分离,后端获取前端传递的参数

两种方法

1. 参数附着在接口地址后的查询串中
此时后端接口地址:localhost:8000/getData

getData: (params) => {
    uni.request({
        url: BASE_URL + '/getData?params=' + params, // 后端接口地址
        method: 'GET',
        success: (res) => {...}
    })
}
urlpatterns = [
    ...
    re_path('getData/',  views.getData),
    ...
]

views.py

def getData(request):
  if method == 'GET':
      params = request.GET.get('params')  # 此时即可获取参数params
      ...

2. 使用命名正则表达式组来捕获URL,并且将其作为关键字参数传给视图
(关于django中的url命名组,详见 官方文档

getData: (params) => {
    uni.request({
        url: BASE_URL + '/getData/' + params, // 后端接口地址
        method: 'GET',
        success: (res) => {...}
    })
}
urlpatterns = [
    ...
    re_path('getData/(?P<params>.*)',  views.getData),
    ...
]

(?P<params>.*)的一些解释:

def getData(request, params):
    # 请求对应后端接口时,django会自动从url中解析出params
上一篇下一篇

猜你喜欢

热点阅读