gpt4 book ai didi

Python Django 删除当前对象

转载 作者:太空狗 更新时间:2023-10-30 01:41:35 24 4
gpt4 key购买 nike

如果我在/notes/get/1/中,其中 id=1 并且我在 note.html 中创建了一个“删除笔记”链接。我需要它从数据库和应用程序中删除 current 注释并重定向到/notes/all。你能帮我处理 def delete 中的代码吗?

模型.py:

class Note(models.Model): 
title = models.CharField(max_length=200)
body = models.TextField()
cr_date = models.DateTimeField(auto_now_add=True)

urls.py:

urlpatterns = patterns('',

url(r'^all/$', 'note.views.notes'),
url(r'^get/(?P<note_id>\d+)/$', 'note.views.note'), #
url(r'^language/(?P<language>[a-z\-]+)/$', 'note.views.language'), #
url(r'^create/$', 'note.views.create'),
url(r'^delete/$', 'note.views.delete'), <--------------------------
url(r'^search/$', 'note.views.search_titles'),
)

views.py:

def delete(??????):
????? <-------------------------------------------
return HttpResponseRedirect('/notes/all')

最佳答案

from django.shortcuts import get_object_or_404
from django.core.urlresolvers import reverse


def delete(request, id):
note = get_object_or_404(Note, pk=id).delete()
return HttpResponseRedirect(reverse('notes.views.notes'))

并且在 urls.py

url(r'^delete/(?P<id>\d+)/$','project.app.views.delete'),

确保在删除对象之前检查用户权限,您可以使用@permission_required 装饰器https://docs.djangoproject.com/en/1.5/topics/auth/default/#the-permission-required-decorator .如果您不选中此项,用户可以轻松删除所有笔记。

通常使用 POST 或 DELETE 请求而不是 GET 从数据库中删除对象是个好主意。假设 google-bot 抓取您的网站并访问 notes/delete/2。

关于Python Django 删除当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19382664/

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