Не удалось обновить сообщение с помощью моделей в django

#python #django #django-models #django-views #django-admin

Вопрос:

Я хочу подготовить веб-страницу, которая выводит название книги, издателя и автора, и хочу динамически добавлять данные с помощью панели администратора, но не могу этого сделать, используя приведенный ниже код. Пожалуйста, помогите

models.py

 from django.db import models
class researchpaper(models.Model):
    title = models.CharField(max_length=200)
    publication = models.CharField(max_length=200)
    authors = models.CharField(max_length=200)

    def __str__(self) -> str:
        return self.title

 

views.py

 def publications(request):
    context = {
            'researchposts': researchpaper.objects.all()
    }
    return render(request, 'lab/publications.html',context)
 

urls.py

 path('publications', views.publications, name='publications'),
 

html-файл

  {% for paper in object_list %}
                <tr>
                    <td>
                        <h5>2021</h5>
                        <p style="color: black;"><b>{{paper.title}}1. A minimal model for synaptic integration in simple neurons</b></p>
                        <p style="font-size: 14px;"><i>Physica D: Nonlinear Phenomena, 2021</i></p>
                        <p style="font-size: 14px;"><i>Adrian Alva, Harjinder Singh.</i></p>
                    </td>
                    <td><a href="#"
                            target="blank" style="color: dodgerblue;"><i class="ai ai-google-scholar-square ai-2x"
                                style="padding-right: 10px;"></i></a></td>
                </tr>
                <tr>
                    <td>
                        <hr>
                    </td>
                </tr>
                {% endfor %}
 

Ответ №1:

Должен ли object_list в вашем шаблоне быть исследовательским постом, поскольку это ключ, который вы предоставляете в контексте?

 {% for paper in researchposts %}
...
 

Комментарии:

1. хорошо, я изменился, но когда я когда-либо добавлял данные в административную панель, они не отражались на html-странице?

2. после обновления страницы? Отображаются ли какие-либо бумажные данные на html-странице? Что вы видите на html-странице?

3. после обновления все в текстовом поле исчезает.

Ответ №2:

Измените свой views.py как:

 def publications(request):
    researchposts = researchpaper.objects.values('title', 'publications', 'author')
    return render(request, 'lab/publications.html', {'researchposts':researchposts})
 

В вашем html-файле (lab/publications.html):

 {% for text in researchposts %}
Name: {{ text.title }} <br>
Pub: {{ text.publications }} <br>
Author: {{ text.author }} <br>
{% endfor %}