Вызов функции (action) из Form(ModelForm)
Занимаюсь изучением Django разрабатывая свой проект. В случае необходимости поменять атрибут (name) своей модели я использую такую конструкцию:
template:
<div id="change_name" class="change_form_ozp">
<form method="post" action="{% url 'rich:change_name' object.id %}" id="text_zamechanya">
{% csrf_token %}
Введите новое имя:
<br>
<input type="text" id="change_name_input" name="change_name" required maxlength="20" size="25">
<br>
<input type="submit" value="Изменить">
</form>
</div>
views:
def change_name(request, id):
res_object = Res.objects.get(id=id)
if request.method == 'POST':
name = request.POST['change_name']
res_object.name = str(name)
res_object.save()
return redirect('rich:res_detail', id=id)
В данной конструкции все работает прекрасно. Вопрос в том чтобы для реализации данной задачи использовать формы наследуемые от ModelForm для проведения их валидации стандартными средствами Django. Если такой вариант возможен буду благодарен за пояснения. Либо пните к нужной странице документации.
Разобрался. Получается что сформированную джангой форму мы можем поместить в теги прямо в шаблоне. При этом дублирования не будет.`
<form id="rich_add" method="post" action="{% url 'rich:add_rich' object.id %}" enctype="multipart/form-data" class="rich_add_form">
{% csrf_token %}
{{ rich_form }}
</form>