Достижение пользователя django из шаблона javascript
Я следую руководству Кори Шафера по django и столкнулся с некоторыми проблемами, о которых он не рассказывает. Я пытаюсь сделать профили, которые видны всем, но редактируются только самим пользователем. В моем views.py у меня есть булево значение "editable", и эта часть работает. Однако я не могу передать это булево в мой js файл... Код ниже.
const button = document.getElementById("button");
button.addEventListener("click", () => {
    const form = document.getElementById("form");
    var bool = {{ user.profile.editable }};
    if(form.style.display == "none" && bool){
        form.style.display = "block";
    }else{
        form.style.display = "none";
    }
});
Когда я проверяю его в браузере, он выдает syntaxError, потому что я использую '{'. А вот код из моего views.py:
@login_required
def profile(request, username):
    user = User.objects.get(username=username)
    Profile.objects.get_or_create(user=request.user)
    editable = False
    if request.method == "POST":
        user_form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, f"Profile successfully updated!")
            return redirect("profile")
    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.profile)
    context = {
        "user_form": user_form,
        "profile_form": profile_form
    }
    if request.user == user:
        editable = True
    return render(request, "users/profile.html", context)
Любая помощь будет очень признательна. Заранее спасибо!
Во-первых, если вы хотите получить доступ к редактируемой переменной, вам просто нужно передать ее в ваш контекст:
context['editable'] = editable
 Во-вторых, считается плохой практикой передавать переменные Django непосредственно в тегах JS <script>. Если вы хотите получить доступ к этим данным, то либо создайте скрытый ввод со значением, либо используйте тег json_script:
https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#json-script
В-третьих, похоже, что ваш код просто отображает и обрабатывает форму профиля. Я бы предложил поместить проверку редактируемости в начало представления и перенаправлять, если пользователь не обращается к своему профилю
 получить значение как строку и проверить следующим образом: "{{ user.profile.editable }}"==="True"
const button = document.getElementById("button");
button.addEventListener("click", () => {
    const form = document.getElementById("form");
    var bool = "{{ user.profile.editable }}"==="True";
    if(form.style.display == "none" && bool){
        form.style.display = "block";
    }else{
        form.style.display = "none";
    }
});