Django:在数据库中存储一个 CSS class
Django: Store a CSS class in database
所以我制作了一个 HTML 按钮并点击它,使用一些 Jquery/javascript 逻辑将 CSS class 添加到它。有什么方法可以将这个动画存储在我的数据库中,以便在页面刷新时 class 应该仍然存在。或者如果我可以用 Javascript 做到这一点。提供一点指导将不胜感激。
问候
范希
你有很多方法可以实现你想要的。我建议使用用户浏览器 (docs) 的 localStorage
来保存 class:
localStorage.setItem('buttonClass', 'some-class');
稍后当您刷新页面时,只需检查 localStorage
是否设置了 buttonClass
键。
const savedClass = localStorage.getItem('buttonClass');
if (savedClass) {
// automatically add to your button
} else {
// behave as usual
}
如果您认为它不够永久,您可以使用 Django 会话来存储该值。这比将它存储在其他 table 上要好,但比使用 JavaScript 和本地存储要差得多:
def your_view(request):
button_class = request.session.get('saved_button_class')
context = {
'saved_button_class': button_class
}
render(request, 'templates/index.html', context=context)
在您的模板中检查 saved_button_class
变量。
并且您必须实现将接受 AJAX 请求的新视图,告知用户已单击该按钮。
from django.http import JsonResponse
def ajax_view(request):
request.session['saved_button_class'] = 'button_class'
return JsonResponse({'saved': True})
然后在页面刷新时,您将 saved_button_class
在用户会话中
所以我制作了一个 HTML 按钮并点击它,使用一些 Jquery/javascript 逻辑将 CSS class 添加到它。有什么方法可以将这个动画存储在我的数据库中,以便在页面刷新时 class 应该仍然存在。或者如果我可以用 Javascript 做到这一点。提供一点指导将不胜感激。
问候 范希
你有很多方法可以实现你想要的。我建议使用用户浏览器 (docs) 的 localStorage
来保存 class:
localStorage.setItem('buttonClass', 'some-class');
稍后当您刷新页面时,只需检查 localStorage
是否设置了 buttonClass
键。
const savedClass = localStorage.getItem('buttonClass');
if (savedClass) {
// automatically add to your button
} else {
// behave as usual
}
如果您认为它不够永久,您可以使用 Django 会话来存储该值。这比将它存储在其他 table 上要好,但比使用 JavaScript 和本地存储要差得多:
def your_view(request):
button_class = request.session.get('saved_button_class')
context = {
'saved_button_class': button_class
}
render(request, 'templates/index.html', context=context)
在您的模板中检查 saved_button_class
变量。
并且您必须实现将接受 AJAX 请求的新视图,告知用户已单击该按钮。
from django.http import JsonResponse
def ajax_view(request):
request.session['saved_button_class'] = 'button_class'
return JsonResponse({'saved': True})
然后在页面刷新时,您将 saved_button_class
在用户会话中