gpt4 book ai didi

ajax - 在 Django 中更新表单值而不重新加载页面?

转载 作者:行者123 更新时间:2023-12-02 17:52:24 25 4
gpt4 key购买 nike

我目前正在 Django 中开发一个项目,并且目前正在开发一个包含多个元素的表单。每个元素都是动态的,当其上方的元素更改值时,需要更新其选项。我知道每当另一个元素的值发生更改时我可以使用 AJAX 来更新元素内容,但我想知道是否有更多 Django 方式,或者无论如何都可以在服务器端执行此操作?我的主要目标是在每次不重新加载整个页面的情况下完成此操作,任何反馈都将受到赞赏。谢谢!

更新:我的问题与 Django ajax form, choicefields dependancy 非常相似但我不完全明白答案中发生了什么。如果有人能更详细地解释一下,那就可以解决我现在所有的问题。我正在尝试该答案所说的内容,但当我尝试加载它时收到 500 和 403 错误。

跟进:显然我的所有问题都来自过时的 jQuery 库,一旦我更新它,一切就又恢复了!

最佳答案

据我所知,没有规范的 Django 方式来执行 Ajax...但是您自己做起来却很简单:

首先,您必须创建一个 View ,该 View 返回更新 View 所需的任何 JSON 数据。例如某省的城市列表:

from django.utils import simplejson as json

def list_cities(request):
cities = city_names_in_province(request.GET["province"])
return json.dumps(cities)

其次,您必须从 HTML 调用该 View (假设是 jQuery):

<select id="provinces">

</select>

<select id="cities" disabled="true">
<option>---</option>
</select>

<script>
$("#provinces").change(function() {
var province = $(this).val();
$.getJSON("{% url list_cities %}", { province: province }, function(cities) {
var cities_select = $("#cities");
… put the `cities` list into the `cities_select` …
});
});
</script>

而且,除了“美化”和错误检查(例如,如果对 list_cities 的调用失败会发生什么?),这基本上就是全部内容了。

关于ajax - 在 Django 中更新表单值而不重新加载页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6638994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com