首页 > 解决方案 > 尝试删除数据但未能从 django 数据库中删除

问题描述

我已经创建了 models.py、views.py 和 urls.py,后来相应地更新了 data.html 文件,但是当我点击删除按钮时,它给了我一个错误。所以错误文件也附上以供参考。帮助赞赏并等待解决。

错误文件

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/delete/
Using the URLconf defined in student.urls, Django tried these URL patterns, in this order:

admin/
[name='index']
export/ [name='export']
export-pdf [name='export-pdf']
register/ [name='register']
login/ [name='login']
home/ [name='home']
logout/ [name='logout']
upload/ [name='upload']
result/ [name='result']
dashbord/ [name='dashbord']
data/ [name='data']
delete/<int:id>
^static/(?P<path>.*)$
The current path, delete/, didn’t match any of these.

You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

网址.py

path('data/', views.data, name='data'),
 path('delete/<int:id>', views.delete),

数据.html

<a href="/edit/{{ student.id }}"  class="btn btn-success"><span>Edit</span></a          
<a href="/delete/{{data1.id}}" class="btn btn-danger">Delete</a>

视图.py

def data(request):
    data1 = Contact.objects.all()
    # myFilter = OrderFilter()
    dict = {
        "data1":data1
    }
    

    return render(request, 'data.html', context=dict)

# Delete Data
def delete(request):
    data1 = Contact.objects.all(id=id)
    data1.delete()
    return redirect("/data")

模型.py

from django.db import models
from django.db.models.fields import CharField
from django.contrib import admin

# Create your models here.


class Contact(models.Model):
    name = models.CharField(max_length=50, default="")
    contact = models.CharField(max_length=50, default='')
    address = models.TextField(max_length=50, default='')
    program = models.CharField(max_length=50, default='')
    email = models.CharField(max_length=50, primary_key=True, null=False, unique=True)
    w3review = models.TextField(max_length=60, default="")

    def __str__(self):
        return self.name

class Cv(models.Model):
    filename = models.CharField(max_length=20)
    upload = models.FileField(upload_to='cv')

    def __str__(self):
        return self.filename

标签: djangodjango-modelsdjango-rest-frameworkdjango-viewsdjango-forms

解决方案



推荐阅读