Javascript Neo4j JSON объект от django до JS in - PullRequest
0 голосов
/ 23 февраля 2020

Я создаю это веб-приложение с django.

Я использую пакет grid от gij go, чтобы создать хорошую интерактивную таблицу с возможностью взаимодействия с моей базой данных.

Я использую базу данных neo4j, и, поскольку она не поддерживается напрямую, я изменяю запросы, чтобы она работала (изменяя код для загрузки / редактирования / удаления и т. Д.).

вот пример редактируемой таблицы:

https://gijgo.com/grid/demos/javascript-sourced-data

здесь вы можете видеть, что с помощью источника данных параметра вы можете указать взаимодействие с сервером или использовать json файл, созданный локально.

https://gijgo.com/grid/configuration/dataSource

Я использовал локальную версию, которую я определил в view.py для передачи объекта в страница (может быть, это неправильное слово), предварительно обработанная с помощью:

results = repr (dumps ())

, затем возвращаются результаты.

затем в HTML документ, в javascript я использовал

var data = jQuery .parse JSON ({{results | safe}});

это разрешено использовать его в параметре источника данных в функции сетки (как локальный объект).

Однако после обновления взаимодействий редактирования / нового я заметил, что, конечно, файл json, передаваемый из вида, предотвращает сетку для обновления (мне приходилось каждый раз обновлять страницу с помощью f5, чтобы увидеть результаты).

Поэтому я решил переместить создание json в javascript

Я использовал Драйверы neo4j и это делает свою работу,

после

$ (документ) .ready (function () {

, но до

grid = $ ( '#grid'). grid ({

Я добавил код для refre sh контейнера.

    var driver = neo4j.driver(
            'BOLT PATH',
            neo4j.auth.basic('MYUSER', 'MYPASS'),
            { disableLosslessIntegers: true }
        );
    var session = driver.session({ defaultAccessMode: neo4j.session.WRITE });

    session
        .run("MYCYPHERQUERY")
        .then(r => {
            results = r.records.map(d => d.toObject());
            data = JSON.stringify(results);
            session.close();
            console.log(data);
        })
        .catch(error => {
            results = [];
            console.log(error);
        })

When console.log (data); срабатывает, я вижу, что в журнале именно то, что я хочу.

Однако я не могу передать это параметру источника данных.

Сначала у меня была ошибка ", не определенная в HTML ", что я решил определить переменную в верхней части javascript.

Кажется, что эта сеточная функция по каким-то причинам совершенно не может распознать контейнер данных.

I Предположим, у меня возникли проблемы между локальным / глобальным определением переменных или чем-то подобным.

Спасибо, что нашли время прочитать все это, даже больше, если у вас будет какой-либо намек на следование.

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