Что такое context_object_name=None в классе CeateView в django?

Получите имя, которое будет использоваться для объекта. Для context_object_name=None

Док:Например, статья будет статья Почему мы используем имя контекста_объекта в createview.У нас нет объекта, у нас просто простая форма для показа пользователям.

def get_context_object_name(self, obj):
    """Get the name to use for the object."""
    if self.context_object_name:
        return self.context_object_name
    elif isinstance(obj, models.Model):
        return obj._meta.model_name
    else:
        return None

Пожалуйста, кто-нибудь помогите мне????

В любом представлении, основанном на классах, имя объекта по умолчанию, в случае одного объекта - object, а в случае нескольких объектов - object_list. Это контекстные переменные, которые вы используете в своем шаблоне, создающем представление.

Например, в случае одного объекта, вы будете использовать их как

{{object}}
...
{{object.pk}} 

и в случае нескольких элементов:

{% for i in object_list %}
...do something...
{% endfor %}

Когда вы предоставляете context_object_name в представлении, переменная с именем object будет заменена на нее.

Например: Если вы установили context_object_name='place', то в вашем шаблоне вы можете использовать экземпляр как {{place}} вместо {{object}}

Источник: https://docs.djangoproject.com/en/4.1/topics/class-based-views/generic-display/#making-friendly-template-contexts

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