DJANGO:TemplateDoesNotExist:auth/user_confirm_delete.html

Mil*_*ano 3 django django-models django-views django-authentication

我正在尝试在Django中创建一个"删除帐户"功能.我用DeleteView它来做这个目的.

问题是在调用此视图后,Django引发:

Request Method: GET
Request URL:    http://127.0.0.1:8000/profiles/delete-account/
Django Version: 1.11.7
Exception Type: TemplateDoesNotExist
Exception Value:    
auth/user_confirm_delete.html
Run Code Online (Sandbox Code Playgroud)

我的看法:

class DeleteAccount(LoginRequiredMixin,DeleteView):
    model = User

    def get_object(self, queryset=None):
        user = self.request.user
        userprofile = user.userprofile
        userprofile.prepare_to_delete_account()
        return user
Run Code Online (Sandbox Code Playgroud)

为什么它会尝试渲染这个template以及为什么没有这样的模板,如果它被调用?

你知道怎么解决这个问题吗?

Ala*_*air 5

视图呈现模板以确认您要删除该对象.

默认情况下,它会auth/user_confirm_delete.html根据应用和型号名称生成模板名称.

如果要使用其他模板,请设置template_name.

class DeleteAccount(LoginRequiredMixin,DeleteView):
    model = User
    template_name = 'delete_account.html'
Run Code Online (Sandbox Code Playgroud)

您必须创建模板,Django不包含它.您可以在文档中扩展一个示例:

<form action="" method="post">{% csrf_token %}
    <p>Are you sure you want to delete "{{ object }}"?</p>
    <input type="submit" value="Confirm" />
</form>
Run Code Online (Sandbox Code Playgroud)