Django python Javascript изменение URL и просмотра вызовов без перезагрузки - PullRequest
0 голосов
/ 25 марта 2020

Я создаю новый Django python проект. У меня есть html, который вызывает jquery, чтобы показать диаграмму (используя диаграмму js)

Мои взгляды:

def CellsHistories(request,Cell_id):

    CellData = cellData.cell_Data(Cell_id)

    context = {
        'CellData':CellData,
    }

    return render(request,'Main/index.html',context)

, вызывая это из URL как:

urlpatterns = [
    path('CellsHistories/<int:Cell_id>/',views.CellsHistories),
]

, а js для диаграммы имеет функцию онклика:

onClick: function(e) {
        var element = this.getElementAtEvent(e); // this is the charts object in this case and element becomes the clocked bubble
        if (element.length > 0) {
          var datasetLabel = this.config.data.datasets[element[0]._datasetIndex].label;
          var data = this.config.data.datasets[element[0]._datasetIndex].data[element[0]._index];
        }
        var url = window.location.href
        url = url.replace(/\/[^\/]*[\/]$/, '/'+element[0]._datasetIndex+'/')
        window.location.replace(url);
        document.getElementById('SelectedCellbadge').textContent = 'Cell No. ' + element[0]._datasetIndex;
}

, которая отлично работает. Моя проблема заключается в том, что каждый раз, когда URL-адрес изменяется и представления называются, страница перезагружается сверху. Я попытался использовать функцию pushstate (), которая изменяет URL-адрес, но не вызывает функцию представлений снова (django представления, вызываемые через мой URL-запрос).

Могу ли я предложить несколько идей о том, как изменить URL-адрес и вызвать django URL, а затем просмотры, но без перехода страницы наверх? Я просто хочу иметь возможность использовать событие onclick, но все же иметь возможность видеть график (страница не движется)

Сообщество огромной благодарности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...