Django устанавливает начальное значение в форме
class UserEditFormView(FormView):
template_name = "edit.html"
form_class = UserEditForm
def get_initial(self):
return {'nickname': self.request.user.nickname}
class UserEditForm(forms.Form):
nickname = forms.CharField(required=False, max_length=120)
<!DOCTYPE html>
<html>
<head>
<title>Nickname Edit</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<form class="container" action="http://localhost:8000/profile/edit/" method="POST">
<label for="nickname"> Nickname </label>
<input id="nickname" type="text" name="nickname"/>
<div>
{{ form.nickname.errors }}
</div>
<button type="submit">Sign me up!</button>
</form>
</body>
</html>
Я пытался установить начальное значение (placeholder) формы, но это не работает. Поле ввода на странице пустое. Я также выкладываю свой html
Вам необходимо сначала позвонить super().get_initial
class UserEditFormView(FormView):
template_name = "edit.html"
form_class = UserEditForm
def get_initial(self):
initial = super().get_initial()
initial['nickname'] = self.request.user.nickname
return initial