本文主要是介绍Python 从0开始 一步步基于Django创建项目(9)删除条目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文实现的功能:
在城市列表页面,每个城市名称后,添加删除链接。
点击删除后,跳转至确认删除页面,执行删除或取消。
城市删除成功后,不在出现在城市列表页面,同时通过级联删除的方式,删除了与该城市关联的所有条目信息。
1、修改C:\D\Python\Python310\study\snap_gram\city_infos\templates\city_infos路径下的cities.html文件,添加删除链接。
{% for city in cities %}<li><a href="{% url 'city_infos:city' city.id %}">{{ city }}</a>----<a href="{% url 'city_infos:delete_city' city.id %}">删除</a></li>
2、修改C:\D\Python\Python310\study\snap_gram\city_infos路径下的urls.py文件,添加上一步中使用的url
#删除城市
path('delete_city/<int:city_id>/',views.delete_city,name='delete_city'),
3、修改C:\D\Python\Python310\study\snap_gram\city_infos路径下的views.py文件,添加对应上述url的视图函数
#删除城市
def delete_city(request,city_id):city = City.objects.get(id=city_id)if request.method == 'POST':city.delete() # 删除城市条目return redirect('city_infos:cities') # 删除成功后重定向到城市列表页面# 如果请求方法不是 POST,渲染一个确认删除的页面供用户确认return render(request, 'city_infos/delete_city.html', {'city': city})
4、新建C:\D\Python\Python310\study\snap_gram\city_infos\templates\city_infos路径下的delete_city.html
{% extends "city_infos/base.html" %}{% block content %}<h1>确认:</h1><p>确认删除城市:{{ city.name }}?</p><form method='post'>{% csrf_token %}<button name="submit">删除</button></form><a href="{% url 'city_infos:cities' %}">取消</a>{% endblock content %}
这篇关于Python 从0开始 一步步基于Django创建项目(9)删除条目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!