URL 中 Django DeleteUser 的用户名

Username in URL for Django DeleteUser

我想在 django 中使用用户名url我怎么用你能告诉我我还没有使用那次我使用时出现页面未找到错误。

在我的模板中

 template.html
    <a href="/accounts/{{ user.username }}/delete/">Delete</a>

在我的 url

urls.py
    path('<str:username>/delete/', views.delete_user, name='delete_user'),

在我看来

views.py

def delete_user(request, username):
    context = {}
    u = User.objects.filter(username=username)
    u.delete()
    messages.success(request,'your account delete')
    return redirect('home')

您可以使用 {% url … %} template tag [Django-doc]:

<a href="<b>{% url 'delete_user' username=user.username %}</b>">Delete</a>

也就是说,删除用户是一种副作用。根据 HTTP 标准,一个GET request is not supposed to have side-effects。因此,您可能应该在 POST 请求中将其打开。