Как установить дефолтное value для форм django?

Для установки дефолтного значения для форм Django, вам необходимо использовать аргумент initial при создании экземпляра формы.

Прежде всего, убедитесь, что у вас установлен Django. Если вы используете pip, выполните следующую команду в командной строке:

pip install Django

После успешной установки Django вы можете начать создание формы. Для этого создайте класс формы, унаследованный от django.forms.Form или django.forms.ModelForm. Допустим, у вас есть простая форма для создания или редактирования модели User:

from django import forms
from .models import User

class UserForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password']

Чтобы установить дефолтное значение для поля формы, добавьте аргумент initial в определение поля формы. Например, если вы хотите установить дефолтное значение для поля username, добавьте следующий код в класс UserForm:

class UserForm(forms.ModelForm):
    username = forms.CharField(initial='default_username')
    # Остальное описание формы...

Теперь, когда вы создаете экземпляр формы, поле username будет иметь дефолтное значение "default_username":

form = UserForm()

Вы также можете использовать динамическое значение вместо фиксированного значения, определяя initial в конструкторе формы. Например:

class UserForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        initial = kwargs.get('initial', {})
        initial['username'] = 'default_username'
        kwargs['initial'] = initial
        super().__init__(*args, **kwargs)
    
    # Остальное описание формы...

Теперь, когда вы создаете экземпляр формы, поле username будет иметь дефолтное значение "default_username":

form = UserForm()

В обоих случаях, если вы хотите сохранить дефолтное значение поля при сохранении формы, вы должны убедиться, что в вашем представлении (view) вы проверяете, было ли предоставлено значение поля пользователем:

def create_user(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            # ...
        else:
            # ...
    else:
        form = UserForm()
    
    # ...

Теперь у вас должно быть полное представление о том, как установить дефолтное значение для формы Django. С помощью аргумента initial вы можете задавать значения для полей формы по умолчанию, которые будут отображаться при первой загрузке формы.