如何在不重新加载的情况下更新页面上的数据,Python - Django [已关闭]

yruzcnhs  于 2022-12-01  发布在  Go
关注(0)|答案(1)|浏览(118)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我是一个Python开发初学者。我需要更新几个值 我知道我需要使用Ajax,但是我不知道怎么做。帮助编写一个AJAX脚本,在视图中调用特定的方法
我写过看法
类移动平均(模板视图):模板名称= '移动平均值/平均值. html'

def get(self, request, *args, **kwargs):    
    return render(request, 'moving_average/average.html')

def post(self, request, *args, **kwargs):
    self.symbol = request.POST.get('symbol')
    self.interval = request.POST.get('interval')
    self.periods = int(request.POST.get('periods')) if request.POST.get('periods') != '' else 0
    self.quantity = float(request.POST.get('quantity')) if request.POST.get('quantity') != '' else 0
    self.delta = float(request.POST.get('delta').strip('%')) / 100
    self.button()
    return render(request, 'moving_average/average.html')
vsdwdz23

vsdwdz231#

这里,我们需要两个函数来从AJAX中调用数据:
首先,我们需要在www.example.com文件中创建JsonResponse视图函数views.py。

# views.py

from django.http import JsonResponse

def get_some_data(request):
    try:
        if request.method == "POST":
            get_some_data = [1, 2, 3, 4, 5] # You can run the query instead
            return JsonResponse({"data": get_some_data})
        else:
            return JsonResponse({"error": "Invalid Method"})
    except Exception as ep:
        return JsonResponse({"error": str(ep)})

在www.example.com文件中创建此函数的路径urls.py。

# urls.py
path("get-some-data/", views.get_some_data, name="get-some-data")

现在,我们创建一些AJAX调用来获取数据,而无需重新加载页面...

$.ajax({
    type: "POST",
    url: "{% url 'get-some-data' %}",
    data: {
        id: 2, // You can send any type of data ...
        csrfmiddlewaretoken: $("input[name=csrfmiddlewaretoken]").val(), //This is important as we are making POST request, so CSRF verification is important ... 
    },
    success: function(data) {
        console.log(data); // Here you can manipulate some D.O.M. for rendering some data ... 
    }
})

好了,你可以走了.

相关问题