@dmitriy_domaskin
.NET Developer

Как отобразить данные из БД на HTML Django?

После добавления в БД записи( через дб браузер, админпанель, или ORM - не важно) Django на html странице не обновляет данные даже при перезагрузке страницы, хотя в базу все добавляетя. Добавленная в БД ранее запись появится на html только если перезапустить весь проект через manage.py runserver
views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.views.generic import ListView, DetailView
from itertools import chain
from viewNV08C.models import GNSSData
from viewNV08C.models import DriverStatus


object_list= list(chain(GNSSData.objects.all().order_by("-date").reverse()[:1], DriverStatus.objects.all().order_by("id").reverse()[:1]))

def driverDataListView(request):    
    return render(request, 'viewNV08C/driver.html', {'object_list':object_list})

def dbDataListView(request):    
    return render(request, 'viewNV08C/db.html', {'object_list':object_list})

def homeDataListView(request):    
    return render(request, 'viewNV08C/homePage.html', {'object_list':object_list})

urls.py
from django.conf.urls import url
from . import views
from itertools import chain
from django.views.generic import ListView, DetailView
from viewNV08C.models import GNSSData
from viewNV08C.models import DriverStatus


urlpatterns = [
    url(r'^$', views.homeDataListView, name = 'home'),
    url(r'^db/', views.dbDataListView, name = 'db'),
    url(r'^driver/', views.driverDataListView, name = 'driver')
    ]

одна из страниц, на которую выводятся данные driver.html
{% extends "viewNV08C/wrapper.html" %}

{% block content %}
    <p2><b>Driver Data:</b></p2>
    <p>Status: {% for val in object_list %}{{val.status}}{% endfor %}</p>
{% endblock %}

models.py
from django.db import models

class GNSSData(models.Model):
    time = models.CharField(max_length=8)
    coordinate = models.CharField(max_length=50)
    date = models.CharField(max_length=15)
    satellitesCount = models.CharField(max_length=2)
    dataFlag = models.CharField(max_length=15)


class DriverStatus(models.Model):
    status = models.CharField(max_length=100)

settings.py
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

DEBUG = True

ALLOWED_HOSTS = ['10.11.5.108', '127.0.0.1']


INSTALLED_APPS = [
    'viewNV08C',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'view.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'view.wsgi.application'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
  
}

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

STATIC_URL = '/static/'

Проект обображает только состояние базы данных на момент запуска, но не показывает добавленные в бд данные во время работы сервера даже при обновлении страницы html.Как исправить?
  • Вопрос задан
  • 720 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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