简体   繁体   English

如何更改 html 模板 DJANGO 中的变量

[英]How to change variable in html template DJANGO

I wrote this variable(refactor) in my context dict.我在我的上下文字典中写了这个变量(重构)。

@login_required(login_url='/login')
def lessont(request, id):
if request.method == 'POST':
    form = ChapterForm(request.POST, request.FILES)
    if form.is_valid():
        new_chapter = Chapter.objects.create(lesson_id=id)
        new_chapter.name = form.cleaned_data['name']
        new_chapter.description = form.cleaned_data['description']
        new_chapter.document = form.cleaned_data['document']
        new_chapter.save()
        return redirect('/lessont/lesson/<int:id>')
get_lessons = Lesson.objects.get(id=id)
get_chapter = Chapter.objects.all().filter(lesson=id)
get_group = StudentsGroup.objects.all().filter(lessons=id)
form = ChapterForm()
refactor = False
refactor_id = 0
context = {
    'get_lesson': get_lessons,
    'get_chapter': get_chapter,
    'get_group': get_group,
    'form': form,
    'refactor': refactor,   <----- HERE
    'refactor_id': refactor_id,
}
template = 'core/lessont.html'
return render(request, template, context) <----- pass it here

Then in my HTML template, I have an access to "refactor" variable and I want to change it by clicking the button然后在我的 HTML 模板中,我可以访问“重构”变量,我想通过单击按钮来更改它

<button type="submit" name="button">Add</button>

I want to make something like:我想做类似的东西:

<button type="submit" name="button" onClick={set "refactor" to True}>Add</button>

In this case refactor is the value of a dict and not a variable.在这种情况下, refactor是字典的值而不是变量。

For manage it in the django template you can try one of those:要在 django 模板中管理它,您可以尝试其中之一:

  • pass locals() instead of context if you want to use the variable and not the dict如果你想使用变量而不是字典,则传递locals()而不是context
  • if you want to use context as a dict, in the template you must use {{context.refactor}} for take the value ( doc )如果你想使用context作为字典,在模板中你必须使用{{context.refactor}}来获取值( doc
  • If you are using external utils like sw-django-utils , consider to use get_key_from_dict如果您使用sw-django-utils等外部工具,请考虑使用get_key_from_dict

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM