为了账号安全,请及时绑定邮箱和手机立即绑定

有人写了删除功能吗

我在完善这个代码的时候发现删除老是报错,有人写删除吗

正在回答

4 回答

写了 但是暂时没做到删除完就立刻回到主页

目前只实现了:点击删除,转到一个结束的界面,点击返回的链接,回到主页

views.py 加一个响应函数

def article_delete(request, id):
    models.Article.objects.filter(id = id).delete()
    return render(request, 'blog/delete_completed.html')

配置一下urls.py:

url('^delete/(?P<id>[0-9]+)/$', views.article_delete, name='article_delete')

其中那个delete_completed.html是自己创建的,在body标签中加入如下代码:

<h1>Delete Completed!!!</h1>
<a href="{% url 'blog:index' %}">Back to Home</a>

article_page.html中添加一个删除链接:

<a href="{% url 'blog:article_delete' article.id%}">删除</a>

就可以搞定了,需要注意的是那个

article_delete()

函数的第二个参数一定要和url配置的时候的参数相同(id) 不然会报错 不要问我怎么知道的?

0 回复 有任何疑惑可以回复我~
#1

慕仙8408915

虽然实现方法很傻瓜式 但是如果有用的话给我加积分呀 有好方法也给我说说 共同进步!!
2019-03-15 回复 有任何疑惑可以回复我~

views.py中:

def del_article(request,article_id):
    article=blog.models.Article.objects.get(pk=int(article_id))
    article.delete()
    articles = blog.models.Article.objects.all()
    return render(request, 'index.html', {'articles': articles})

urls.py中:

path('page/<int:article_id>/del/',bv.del_article,name='del_article')

html中:

<a href="{% url 'del_article' article.id %}">删除</a>
0 回复 有任何疑惑可以回复我~

我发现我和你的代码几乎一样,区别在于我的views.ps中filter(pk=article.id),为什么不能这样做呢,请问id=id的操作是?另外返回主页可以这样做,提供一个参考:views.py加响应函数

def back_action(request):
    return HttpResponseRedirect('/blog/index/')

urls.py

url(r'^back/action/$', views.back_action, name='back_action'),

article_page.html

<a href="{% url 'blog:back_action' %}">返回主页</a>

HTML有延时跳转的方法可以套用

0 回复 有任何疑惑可以回复我~
#1

慕仙8408915

id = id 我理解的是 前面的id:字段名称(我们给article中定义的是title和content,自带id) 后面的id:是article_delete(request, id)函数传进来的第二个参数,你用article.id是不行的, 我自己也试了? 至于为什么函数传进来的参数是id,我觉得是因为配置URL的时候url('^delete/(?P<id>[0-9]+)/$', views.article_delete, name='article_delete'),中间那个尖括号括起来的是id? 跳转的方法我回头试一下,谢谢你啦~~~
2019-03-17 回复 有任何疑惑可以回复我~
#2

慕仙8408915 回复 慕仙8408915

好像说错了,我刚开始写的是article_delete(request,article_id) 然后就一直报错,后来我改成id就可以,我觉应该就是配置url的时候,中间我们定义的是id就传id,定义成article_id就传article_id 然后filter函数里面 如果你用article.id赋值的话(即写成 id = article.id),那你article是哪里来的呢,并没有定义啊?
2019-03-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
django入门与实践
  • 参与学习       65208    人
  • 解答问题       868    个

手把手带你进入Django开发的大门,充分领略Django的魅力

进入课程

有人写了删除功能吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信