如何在Django中一次性传递令牌数据和呈现模板?
我有一个登录表单,可以将用户重定向到应用程序中的某个页面。但在此之前,我使用了JWT令牌(通过简单的JWT库),需要将这些令牌存储在Javascript代码中(以便在登录后访问每个页面)。我对使用代币完全陌生,不知道如何存储它们。我该怎么做 这是我以前做过的: 视图。py:如何在Django中一次性传递令牌数据和呈现模板?,django,django-rest-framework,jwt,Django,Django Rest Framework,Jwt,我有一个登录表单,可以将用户重定向到应用程序中的某个页面。但在此之前,我使用了JWT令牌(通过简单的JWT库),需要将这些令牌存储在Javascript代码中(以便在登录后访问每个页面)。我对使用代币完全陌生,不知道如何存储它们。我该怎么做 这是我以前做过的: 视图。py: def login(request): if request.method == 'POST': login_form = LoginForm(request.POST) if log
def login(request):
if request.method == 'POST':
login_form = LoginForm(request.POST)
if login_form.is_valid():
username = login_form.cleaned_data.get('username')
password = login_form.cleaned_data.get('password')
new_user = authenticate(username = username, password = password)
if new_user is not None:
url = 'http://localhost:8000/api/token/'
values = {
'username' : username,
'password' : password
}
r = requests.post(url, data = values)
token_data = r.json()
return Response(token_data, template_name='users/interface.html') #interface is the template which is seen after logging in successfully.
else:
login_form = LoginForm()
return render(request, "users/login.html", {"login_form" : login_form})
AssertionError at /login/
.accepted_renderer not set on Response
目前,我遇到了以下错误:
def login(request):
if request.method == 'POST':
login_form = LoginForm(request.POST)
if login_form.is_valid():
username = login_form.cleaned_data.get('username')
password = login_form.cleaned_data.get('password')
new_user = authenticate(username = username, password = password)
if new_user is not None:
url = 'http://localhost:8000/api/token/'
values = {
'username' : username,
'password' : password
}
r = requests.post(url, data = values)
token_data = r.json()
return Response(token_data, template_name='users/interface.html') #interface is the template which is seen after logging in successfully.
else:
login_form = LoginForm()
return render(request, "users/login.html", {"login_form" : login_form})
AssertionError at /login/
.accepted_renderer not set on Response
如何将令牌数据传递到JS文件并立即呈现“接口”模板?我应该为此使用AJAX吗?或者,还有其他有效的解决方案吗?非常感谢。您遇到了什么错误?我只是停留在登录页面上。这就是全部。我的终端没有显示任何错误。请检查您的登录功能是否工作。我更改了我的问题,希望听到您的回答。