这里是forms.py:
class OrderForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.attrs = {
"hx_get": reverse("planner:detail", kwargs={"slug": self.instance.venue}),
"hx_target": "#services",
}
class Meta:
model = Order
fields = ["venue"]
widgets = {"venue": forms.RadioSelect()}
于飞:
<div id="venue-options" class="p-3">
{% crispy form %}
</div>
这是单击以下单选按钮之一时出现的错误:当前路径planner/detail/None/与上一个路径匹配。它显示None/是因为当您加入页面时,没有单击任何单选按钮,因此没有slug来替换它。我需要一种方法来将None替换为用户选择的对象的slug / id。我需要在每次更改选择时更改url。
我对使用apline.js持开放态度,但我想在htmx/django中使用它。
非常感谢你。
1条答案
按热度按时间9jyewag01#
基本上,您是基于一次点击来更改一个属性(hx_get)。HTMX会使这一过程往返于服务器,这看起来效率很低,因为所有的数据都在页面上(假设单选按钮的值是您要找的slug)。您可以使用纯javascript来完成这一过程,这将使过程更快