Django Ajax还是不Ajax?

2024-04-27 00:10:34 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑 下面是我所做的,但即使我的ajax看起来是正确的,我的navbar也不会用ajax请求的结果更新

网址.py

app_name='randomization'
urlpatterns = [
    ...
    path('stock/', views.stock, name='stock'),
]

视图.py

def stock(request):
    if request.method == "POST":
        site = request.POST['site']
    else:
        site = ''

    # database queries to be done after
    # result will be stock == True or stock == False

    return render(request, 'randomization/stock.html', {'stock': True})

ajax代码

        $("#site").on("change", function(event){

            console.log($(this).val());

            $.ajax({
                type: "POST",
                url: '{% url "randomization:stock" %}',
                data: {
                    csrfmiddlewaretoken: '{{ csrf_token }}',
                    'site' : $(this).val(), 
                },
                dataType: 'html',
                success: function (data) {
                    // alert(data) -> OK
                    if (data) {
                        // alert("Test retour requete ajax"); -> OK
                        $("#alerte").html(data);
                    }
                }
            });
        });

ajax模板

{% if stock %}
    <a class="nav-link" id="informations" href="#" style="color:red; padding-right: 50px;"><strong>Insufficient stock</strong></a>
{% else %}

{% endif %}
<li class="nav-item" id="alerte">
    // ajax template to be added
</li>

所以我不明白为什么它没有添加“库存不足”的信息?

是的。 . . 你知道吗

我有一个Django项目与一个经典的纳瓦巴,其中包含一个选择和其他与下拉菜单链接

我有一个函数,可以查询数据库来控制某个中心的药品库存(默认情况下是用户的中心-CHU-或选中的中心),并返回bool 如果为真,则显示红色警报“库存不足”,不应显示链接“随机化患者”和“重新分配患者”

我想药品库存重新评估时,用户选择另一个中心没有重新加载页面 我认为我应该使用ajax,但是我对如何实现它迷茫了

enter image description here


Tags: namepydataifrequesthtmlstock库存
3条回答

在社区提问之前,请使用google和google你的问题。 有很多关于Ajax和python的教程。 看看下面的链接,从Django doc网站开始吧。 与django数据库和网站交互而不重新加载页面的唯一方法是使用AJAX。你知道吗

Django and AJAX

how-to-work-with-ajax-request-with-django

Django And Ajax Full Tutorial

最后,它的工作,问题来自我的代码中的注释行,似乎是解释??? 但非常感谢这两个!你知道吗

是的,您可以为此使用ajax。你知道吗

        $.ajax({
            url: "Your URL",
            type: "POST",
            data: {
                csrfmiddlewaretoken: '{{ csrf_token }}',
                Data1: 'something',
                Data2: 'something else',
            }
        });

别忘了在查询的数据中添加csrfmiddlewaretoken。你知道吗

相关问题 更多 >