当前位置: 首页 > 面试题库 >

Python Django删除当前对象

翟卓君
2023-03-14
问题内容

案例我在/ notes / get / 1 /中,其中id =1,并且我在note.html中创建了“删除注释”链接。我需要它从数据库和应用程序中删除
当前 注释,然后重定向到/ notes / all。您能帮我处理def delete中的代码吗?

models.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。



 类似资料:
  • 所以我正在为JDA制作一个斜杠命令库,由于某些原因,我找不到任何关于从公会中删除斜杠命令的文档。让我解释一下。 所以我使用来注册命令。但是我想知道的是,如果公会有一个叫这个名字的命令,我想从公会中删除这个命令,这样旧的和新的就不会混淆了。 干杯探员

  • 我有以下型号: 当我运行下面的查询时,用户模型也被删除 有没有办法在不删除用户的情况下删除问题? 我试着重复这些问题但没有用 我认为查询集是懒惰的,所以也许我需要在删除之前评估它,所以我打印了它,但这不起作用。 我知道,将ForeignKey设置为null将为我提供诸如clear和remove之类的方法,但我不想这样做,因为我不希望出现任何孤立的用户问题。 我更新了ForeignKey,如下所示

  • 如何删除用户所在的当前卡。我知道如何使用next和previous函数通过一个卡片布局,但是如何删除用户正在使用的当前帧呢?例如,如果我有一个程序,其中我目前在第3个面板中的5个面板,我将如何删除当前的一个,这是第3个面板。一旦您移除它,下一个或上一个将替换它。我不认为可以使用removecurrentlayout,因为我没有删除组件。例如,在代码中,如果我在卡3上,我将如何删除卡3。

  • 问题内容: 这是使用for每个循环从Java中的LinkedList中查找和删除项目的有效方法,是否可能会导致不一致: 问题答案: 其他人提到有效点,通常这不是您如何从集合中获取对象。但是,在这种情况下,因为您一旦退出循环就可以了。 但是,如果要在之后继续迭代,则需要使用迭代器。否则,您将获得,或更普遍的情况是未定义的行为。 所以,是的, 如果您不在别人之后,您会没事的。 对于那些说这将失败的人来

  • 问题内容: 我昨天发布了类似的内容,但是它起作用了,但是只删除了数据中的最后一个对象。 我想发生什么 此ajax上传将处理大量数据,因此我正在使用indexeddb。这也将在手机上使用。因此,我希望它一次上传一个项目,如果一个项目未能从数据中删除之前的项目,那么它们就不需要再次上传所有内容。 我已经尝试过async = false,这完全符合我的需要,但是这个冰柜浏览器。 当前代码 试图注释掉可能

  • 本文向大家介绍jquery删除table当前行的实例代码,包括了jquery删除table当前行的实例代码的使用技巧和注意事项,需要的朋友参考一下 jQuery删除当前行,只需传this,即可: 以上就是小编为大家带来的jquery删除table当前行的实例代码全部内容了,希望大家多多支持呐喊教程~