bimka
@bimka
Осваиваю Питон

Почему не передает id в form.as_p?

Хочу получить id объекта (поста), для дальнейшего использования. Для этого в views.py для класса JokesUpdate добавлено поле "id", но его почему-то не передает в form.as_p в шаблоне. Как мне получить id объекта?

jokes_update.html:
{% extends 'blog/base.html' %}

{% block content %}

<p>id = </p>  
{% for f in form %}
{{f}}
{% endfor %}
<br>
<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
  
    <input type="submit" value="Обновить шутку">
    <input type="button" onclick="window.location='{% url "index" %}';" value="Отмена">
</form>
{% endblock %}


views.py:
class JokesUpdate(UpdateView):
    model = Jokes
    fields = ('joke_text', 'id', 'joke_rating')
    success_url = reverse_lazy('index')
    template_name_suffix = '_update'


models.py:
class Jokes(models.Model):
    joke_text = models.TextField(
        verbose_name = "Текст шутки", max_length = 500
        )
    joke_rating = models.IntegerField(default = random.randint(1, 10))
    date_of_creation = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.id
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vladis005
Начинающий веб разработчик
Ты не выводишь id в template. Поле можели выводится как {{ model.field }} где model должно быть названием модели а field полем. Например id = {{ jokes.id }}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы