gpt4 book ai didi

javascript - 将变量值分配给模板中的表单字段

转载 作者:行者123 更新时间:2023-12-02 16:09:56 24 4
gpt4 key购买 nike

我希望将 View 函数 one_label 中的变量 word 的值分配给模板中的表单字段 label。我已经看到了一些使用 javascript 的解决方案,但我不确定如何将它们与模板中的表单字段一起使用?

<script type="text/javascript"> 
var myVar = "{{someDjangoVariable}}"
</script>

在模型中

class Labels(models.Model):
label = models.CharField()

以表格形式

class LabelForm(forms.Form):

label = forms.CharField(required = False)

在 View 中

def one_label(request, postID):
one_label = Labels.objects.get(id=postID
if request.method =='POST':
form = LabelForm(request.POST)
if form.is_valid():


word = "something"
else:
form = LabelForm()
c = {"form"=form, "one_label"=one_label, "word"=word }
c.update(csrf(request))
render(response,'mytemplate.html', c)

在模板中

 <form action="" method="post">{% csrf_token %}

{{ form.as_p}}

# assign value in var "word" in views to form field "label"

# something like {{ form.label}}:{{ word}}

</form>

最佳答案

首先,至少在您的 views.py 中存在语法错误,或者这是我完全不知道的语法。 Context 是一个 Python 字典,可以声明为:

c = {'form': form, 'one_label': one_label, 'word': word}

我强烈建议您掌握一个好的 IDE,它会对您的语法有很大帮助。

关于表单渲染,我建议您通过将 {{ form }} 替换为以下内容来扩展表单字段渲染:

{{ form.non_field_errors }}
<div class="fieldWrapper">
{{ form.label.errors }}
<label for="{{ form.label.id_for_label }}">{{ word }}</label>
{{ form.label }}
</div>

另请参阅Django documentation: Rendering fields manually

关于在模板中分配值,您可以使用 {% with %}标签,尽管它似乎与我的特定问题无关。

关于javascript - 将变量值分配给模板中的表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30325854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com