Почему вы должны изменить, отправляется ли ваша текстовая область в django?
Это не так много данных.Почему бы не всегда отправлять и проверять, если установлен флажок SMS?Если проверено: сделайте что-нибудь с данными textarea.Если нет: не.
Примечание: вы пропускаете атрибут name
на каждом из ваших входов.
def my_view(request):
if request.method == 'POST':
if request.POST.get('sms'):
# do something with text area data since SMS was checked
print request.POST.get('my_textarea')
# process form as usual.
Если вы хотите изменить, читает ли django ваши данные, вы можете динамически добавлять или удалять атрибут name
текстовой области с помощью javascript, но это более рискованно и требует больших усилий, чем приведенное выше решение.
update - html для работы с кодом выше.
<form method="post">
{% csrf_token %}
<textarea name="my_textarea"></textarea>
<input type="checkbox" name="sms" />
</form>