我目前正在使用HTMX和Django来处理一个表中的按钮点击,该表将所选项目添加到列表中。我试图使用名称/值HTML属性发送到后端,值是基于数据库信息动态的。我有以下表单代码:
<form action="" method="post">
{% csrf_token %}
<button hx-post="{% url 'add-analysis' %}" hx-target="#analysis-list" type="submit" name="projectChoice" value="{{project.project_title}}">Add</button>
</form>
在我 www.example.com 是一个例子,说明了如何使用下面的代码:
def add_analysis(request):
proj_name = request.POST.get("projectChoice")
print(list(request.POST.items()))
print(request.data())
return render(request, 'includes/analysis-list.html', {"selected_projects" : proj_name})
但返回None。为了调试这个,我尝试列出所有对服务器的POST请求,并使用以下内容:
print(list(request.POST.items()))
但是,这只返回CSRF令牌,我在这里做错了什么?
2条答案
按热度按时间ttcibm8c1#
当request属性
hx-post
被放置在表单本身上时,htmx发送带有提交数据的按钮值。下面是一个示例https://codepen.io/jreviews/pen/PoEJYMX
在您的情况下,您可以尝试在服务器端执行一些不同的操作,具体取决于用于提交表单的按钮。
hmtdttj42#
尝试
或