Python 如何在Django模板中设置动态默认textarea数据?

Python 如何在Django模板中设置动态默认textarea数据?,python,django,django-templates,Python,Django,Django Templates,我正在设计一个联系人表单,我希望在某些情况下,不要总是用URL中的数据预先填充主题和内容字段 这就是为什么我的观点是这样的: def contact(request): if request.method == 'POST': contact_form = ContactForm(request.POST) # Some more logic here else: # GET request contact_form = Cont

我正在设计一个联系人表单,我希望在某些情况下,不要总是用URL中的数据预先填充主题和内容字段

这就是为什么我的观点是这样的:

def contact(request):
    if request.method == 'POST':
        contact_form = ContactForm(request.POST)
        # Some more logic here

    else: # GET request
        contact_form = ContactForm()
        subject = request.GET.get('subject') or ""
        content = request.GET.get('content') or ""

    return render(request, 'contact.html', locals())
我创建了一个addattrs自定义过滤器,允许我在HTML元素中注入HTML属性

因此,对于预先填充主题的经典文本输入,我是这样做的,它是有效的:

{% with "value="|add:subject as attrs %}
    {{ contact_form.subject|addattrs:attrs }}
{% endwith %}
现在,我想对textarea做同样的事情。 但是textarea默认值不是通过填充HTML值属性来设置的,它们是这样填充的:

<textarea>default texte here</textarea>
我怎么办?
谢谢

您不需要使用HTML进行操作。使用表单构造函数的初始参数:

subject = request.GET.get('subject', '')
content = request.GET.get('content', '')
contact_form = ContactForm(initial={'subject': subject, 'content': content})
相关的: