Переменные Django от форм к шаблонам

Я создаю сайт и пытаюсь сделать так, чтобы пользователь мог изменить свои учетные данные. Я сделал форму для этого:

newUsername = forms.CharField(
        label="Enter your new username here*",
        required=True,
        widget=forms.TextInput(attrs={
        'class': 'userChangeCredentials',
        'value': "{{ user.username }}"
    }))
    newEmail = forms.EmailField(
        label="Enter your new e-mail adress here*",
        required=True,
        widget=forms.EmailInput(attrs={
        'class': 'userChangeCredentials',
        'value': '{{ user.email }}'
    }))
    newPassword = forms.CharField(
        label="Enter your new password here",
        required=False,
        widget=forms.PasswordInput(attrs={
        'class': 'userChangeCredentials',
        'value': ''
    }))
    passwordConfirmation = forms.CharField(
        label="Confirm your existing password here*",
        required=True,
        max_length=256,    
        widget=forms.PasswordInput(attrs={
        'class': 'userChangeCredentials',
        'value': ''
    }))

Проблема в том, что значения в словаре виджета передаются как необработанный текст, а я хочу, чтобы они были переменными. Вот вывод: Нужно ли мне что-то изменить в html? Мой html:

<form id="UserForm" action="{% url 'user' name=user.username %}" method="POST">
            {% csrf_token %}
            {{ form|safe }}
            <input class="userChangeCredentials" type="submit"></input>
        </form>

Я попытался сделать текст необработанным следующим образом:

widget=forms.EmailInput(attrs={
        'class': 'userChangeCredentials',
        'value': r'{{ user.email }}'
    })

Но это не помогло. Я ищу ответ уже около недели и не смог найти ни одного вопроса по этой теме. Я прочитал официальную страницу Django form page, но там нет ничего об этом. Большое спасибо, я вроде как новичок в мире django.

Предполагая, что вы наследуете свою форму от ModelForm, например:

class UpdateProfileForm(forms.ModelForm)
     # all other form fields defination

      class Meta:
         model = yourModel
         fields = ['field 1', 'field 2', 'field 3']

вы можете изменить свои виджеты на :

widget=forms.EmailInput(attrs={
        'class': 'form-control'})

Вернуться на верх