【发布时间】:2025-12-12 17:20:05
【问题描述】:
所以我制作了一个 HTML 按钮,点击它时,会使用一些 Jquery/javascript 逻辑向其中添加一个 CSS 类。有什么方法可以将此动画存储在我的数据库中,以便在页面刷新时该类仍应保留。或者如果我可以用 Javascript 做到这一点。一些指导将不胜感激。
问候 范思哲
【问题讨论】:
标签: javascript jquery css django django-database
所以我制作了一个 HTML 按钮,点击它时,会使用一些 Jquery/javascript 逻辑向其中添加一个 CSS 类。有什么方法可以将此动画存储在我的数据库中,以便在页面刷新时该类仍应保留。或者如果我可以用 Javascript 做到这一点。一些指导将不胜感激。
问候 范思哲
【问题讨论】:
标签: javascript jquery css django django-database
你有很多方法可以实现你想要的。我建议使用用户浏览器的localStorage (docs) 来保存该类:
localStorage.setItem('buttonClass', 'some-class');
然后当您刷新页面时,只需检查 localStorage 是否有 buttonClass 键集。
const savedClass = localStorage.getItem('buttonClass');
if (savedClass) {
// automatically add to your button
} else {
// behave as usual
}
如果您认为它不够永久,您可以使用 Django 会话来存储该值。这比将其存储在其他表上要好,但比使用 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
【讨论】: