给定一个任意的html表单,将输入的数据转换为REST API JSON POST请求到任意地址的最快和最顺畅的方法是什么?
Django中有没有好的库?
由于
答案 0 :(得分:1)
最简单的方法是使用requests。
例如登录的代码示例为:
import requests
def user_login(request):
# If token was already acquired, redirect to home page
if request.session.get('api_token', False):
return HttpResponseRedirect(reverse('index'))
# Get username and password from posted data, authenticate and
# if successful save api token to session
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
r = requests.post('http://localhost/api-token-auth/', data={'username': username, 'password': password})
if r.status_code == 200:
response = r.json()
token = response['token']
# Save token to session
request.session['api_token'] = token
else:
messages.error(request, 'Authentication failed')
return HttpResponseRedirect(reverse('login'))
else:
return render(request, 'login.html', {})
这只是一个简单的例子。关键是这一部分:
r = requests.post('http://localhost/api-token-auth/', data={'username': username, 'password': password})