gpt4 book ai didi

python - 使用关键字参数 'deletedata' pk' : 1 '{' delete//'] 反转 }' not found. 1 pattern(s) tried: ['

转载 作者:行者123 更新时间:2023-12-03 23:00:46 25 4
gpt4 key购买 nike

我试图寻找其他解决方案。但这并没有帮助我。请仔细研究一下。
我的 html 代码。

<tbody>
{% for st in stu %}
<tr>
<th scope="row">{{st.id}}</th>
<td>{{st.name}}</td>
<td>{{st.email}}</td>
<td>{{st.role}}</td>
<td>
<a href="{}" class="btn btn-warning btn-sm">Edit</a> {% csrf_token %}
<form action="{% url 'deletedata' pk = st.id %}" method = "POST" class="d-inline"> {% csrf_token %}

<input type="submit" class="btn btn-danger" value="Delete">
</form>

</td>
</tr>
{% endfor %}
</tbody>
</table>
我的 views.py 和 urls.py 代码
def delete_data(request,id): 
if request.method == 'POST':
pi = User.objects.get(pk=id)
pi.delete()
return HttpResponseRedirect('/')

urlpatterns=[
re_path('delete/<int:pk>/',views.delete_data,name="deletedata")
]

最佳答案

您正在使用 re_path喜欢它path . re_path需要正则表达式,它没有像 path 这样的路径转换器.您可以编写正则表达式或切换到 path .
正则表达式解决方案:

urlpatterns=[
re_path(r'delete/(?P<pk>\d+)/',views.delete_data,name="deletedata")
]
路径解决:
from django.urls import path

urlpatterns=[
path('delete/<int:pk>/',views.delete_data,name="deletedata")
]
编辑:同样在您看来,您已将参数命名为 id ,所有从 url 模式捕获的参数都作为关键字参数传递,确保您的命名为 一致 在您的模式、 View 、模板中。
将 View 定义(以及 View 函数中变量的所有用法更改为 pk )为:
def delete_data(request, pk):

关于python - 使用关键字参数 'deletedata' pk' : 1 '{' delete/<int:id>/'] 反转 }' not found. 1 pattern(s) tried: [',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65915932/

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