有人写了删除功能吗
我在完善这个代码的时候发现删除老是报错,有人写删除吗
我在完善这个代码的时候发现删除老是报错,有人写删除吗
2019-03-14
写了 但是暂时没做到删除完就立刻回到主页
目前只实现了:点击删除,转到一个结束的界面,点击返回的链接,回到主页
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) 不然会报错 不要问我怎么知道的?
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>
我发现我和你的代码几乎一样,区别在于我的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有延时跳转的方法可以套用
举报