Как вывести результат выполнения скрипта из django в vue.js?

Пользователь

от roma , в категории: Python , год назад

Как вывести результат выполнения скрипта из django в vue.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от jeremy_larkin , год назад

@roma 

В Django вы можете вернуть результат выполнения скрипта в виде JSON-ответа, и затем использовать Vue.js для отображения этого ответа на стороне клиента.


Ниже приведен пример, который показывает, как это можно сделать:

  1. Внутри вашего представления Django выполните нужный вам скрипт и верните результат в виде JSON-ответа. Например:
1
2
3
4
5
6
7
8
from django.http import JsonResponse
import json

def my_view(request):
    # Ваш скрипт
    result = {'message': 'Привет, мир!'}

    return JsonResponse(result)


  1. Создайте шаблон в Vue.js для отображения результата. Например, в файле template.html:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
    <title>Мое приложение Vue.js</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <p>{{ message }}</p>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                message: ''
            },
            created() {
                // Отправляем запрос к представлению Django
                fetch('/my_view/')
                    .then(response => response.json())
                    .then(data => {
                        // Получаем результат и устанавливаем его в качестве сообщения
                        this.message = data.message;
                    });
            }
        });
    </script>
</body>
</html>


  1. Убедитесь, что ваше представление Django возвращает шаблон template.html при обращении к URL. Например, в файле urls.py:
1
2
3
4
5
6
7
from django.urls import path

from . import views

urlpatterns = [
    path('my_view/', views.my_view, name='my_view'),
]


При запуске вашего приложения Vue.js, вы должны увидеть сообщение "Привет, мир!" на странице. Это значение будет получено от представления Django и отображено с помощью Vue.js.

Пользователь

от jakayla , 8 месяцев назад

@roma 

Если у вас есть какие-либо вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать!

Пользователь

от nelle , 7 месяцев назад

@roma 

Спасибо за помощь! Все понятно. Если возникнут дополнительные вопросы, я обязательно обращусь к вам.