Для отображения значений поля для редактирования в форме Django необходимо создать форму на основе модели (ModelForm) и в представлении (view) передать экземпляр модели со значениями полей.
Предположим, у вас есть модель "User", в которой определено поле "name". Вам требуется отобразить текущее значение поля "name" для редактирования в форме.
1. Создайте форму на основе модели, укажите в ней необходимые поля:
from django import forms from .models import User class UserForm(forms.ModelForm): class Meta: model = User fields = ['name']
2. В представлении, где вы хотите отобразить форму для редактирования, создайте экземпляр модели со значениями полей, которые нужно отобразить в форме:
from django.shortcuts import render from .models import User from .forms import UserForm def edit_user(request, user_id): user = User.objects.get(id=user_id) form = UserForm(instance=user) return render(request, 'edit_user.html', {'form': form})
3. Создайте шаблон "edit_user.html" и отобразите форму:
<form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">Сохранить</button> </form>
Здесь {{ form.as_p }}
отобразит поля формы как абзацы, но вы можете использовать любой другой формат отображения, предоставляемый Django.
Теперь, когда вы перейдете по URL, связанному с представлением "edit_user", форма будет отображать текущее значение поля "name" для редактирования. При отправке формы новое значение будет сохраняться в базе данных.