невозможно отобразить данные из базы данных по шаблону - PullRequest
0 голосов
/ 26 апреля 2019

Я новичок в django, и моя проблема: У меня уже есть данные в моей базе данных, но я не могу отобразить их в своем шаблоне.

Я пытался несколько раз изменить функцию просмотра и язык шаблонов, но у меня ничего не работает

в views.py

def my_financial_data(request):
    mydata = DataItem.objects.all()
    print(mydata)
    return render(request, 'home.html', {'mydata': mydata})

в models.py

class DataItem(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, default='')
    lastprice = models.CharField(max_length=100, default='')
    sinceclose = models.CharField(max_length=100, default='')
    sinceopen = models.CharField(max_length=100, default='')
    isin = models.CharField(max_length=100, default='')
    place = models.CharField(max_length=100, default='')

в моем шаблоне

<div>
        <table class="table">
          <thead class="bg-dark">
            <tr>
              <th class="text-light">Name</th>
              <th class="text-light">Last Price</th>
              <th class="text-light">Change since Close</th>
              <th class="text-light">Change since Open</th>
              <th class="text-light">Isin</th>
            </tr>
          </thead>

            <tbody>

            {% for item in mydata %}
                <tr>
                    <td class="text-primary"> {{item.name}} </td>
                    <td class="text-dark"> {{ item.lastprice }} </td>
                    <td class="text-dark"> {{ item.sinceclose }} </td>
                    <td class="text-dark"> {{ item.sinceopen }} </td>
                    <td class="text-dark"> {{ item.isin }} </td>
                </tr>
            {% endfor %}

            </tbody>

        </table>
    </div>

в моем urls.py

urlpatterns = [
    path('', lambda request: redirect('accounts/login/', permanent=False)),
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')),
    #path('blog/', financial_data_render),
    path('blog/', TemplateView.as_view(template_name='home.html'), name='home'), # If the login is right, it's redirecting to home.html
    path('blog', views.DataItem),
    path('blog/add-isin/', views.add_row),
    path('blog/add-place/', views.add_row),
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) # for the static files

Что я хочу, так это то, что при открытии сайта отображаются сохраненные данные.

Большое спасибо за помощь ^^

Ответы [ 4 ]

0 голосов
/ 26 апреля 2019

Хорошо, я нашел это, спасибо вам, ребята

Это был URL-адрес блога / как вы сказали мне, и у меня были ошибки {% url ''%} в моем html, поэтому мне пришлось очистить всеэти, большое спасибо еще раз, я не буду делать ту же ошибку!

0 голосов
/ 26 апреля 2019

У вас нет представления DataItem, и в этом проблема.Я думаю, что вы хотели сделать так:

path('blog', views.my_financial_data),

0 голосов
/ 26 апреля 2019

, установив urls.py и views.py следующим образом:

# urls.py

urlpatterns = [
...
path('blog/', my_financial_data),
...

]

# views.py

def my_financial_data(request):
    mydata = DataItem.objects.all()
    print("My financial data : ",  mydata)
    return render(request, 'home.html', {'mydata': mydata})

проверьте наличие в консоли mydata, есть ли значение, получающее

0 голосов
/ 26 апреля 2019

URL не будет таким же. Но твой блог / и блог.

path('blog/', TemplateView.as_view(template_name='home.html'), name='home'), # If the login is right, it's redirecting to home.html
path('blog', views.DataItem),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...