Django实现删除课程方法——简单方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/85853512

一 编写视图类

# 继承了DeleteView类后,后续代码就不需要重复删除动作了
# 只需要声明确认删除模板template_name和删除完成之后的界面success_url
class DeleteCourseView(UserCourseMixin, DeleteView):
    template_name = 'course/manage/delete_course_confirm.html'
    success_url = reverse_lazy("course:manage_course")

二 配置URL

from django.conf.urls import url
from .views import AboutView,CourseListView,ManageCourseListView,CreateCourseView,DeleteCourseView

urlpatterns = [
    url(r'about/$', AboutView.as_view(), name="about"),
    url(r'course-list/$', CourseListView.as_view(), name="course_list"),
    url(r'manage-course/$', ManageCourseListView.as_view(), name="manage_course"),
    url(r'create-course/$', CreateCourseView.as_view(), name="create_course"),
    # 默认情况DeleteView类接收以pk或者slug作为参数传入的值,并且通过GET方式访问一个删除的
    # 确认页面,然后以POST方式提交删除表单,才能完成删除
    url(r'delete-course/(?P<pk>\d+)/$', DeleteCourseView.as_view(), name="delete_course"),
]

三 前端模板

{% extends "article/base.html" %}
{% block title %}删除课程{% endblock %}
{% block content %}
<div>
    <form action="" method="post">{% csrf_token %}
    <p>你确认要删除 "{{ object.title }}"?</p>
    <input type="submit" value="确认" />
</form>
</div>
{% endblock %}

四 添加删除链接

{% extends "article/base.html" %}
{% load staticfiles %}
{% block title %}管理课程{% endblock %}

{% block content %}
<div>
    <div class='text-right'><a href="{% url 'course:create_course' %}"><button type="button" class="btn btn-primary">添加课程</button></a></div>
    <table class="table table-hover" style="margin-top:10px">
        <tr>
            <td>序号</td>
            <td>课程标题</td>
            <td>发布日期</td>
            <td>操作</td>
        </tr>
        {% for course in courses %}
        <tr id={{ forloop.counter }}>
            <td>{{ forloop.counter }}</td>
            <td>{{ course.title }}</a></td>
            <td>{{ course.created|date:"Y-m-d" }}</td>
            <td>
                <a name="edit" href="#"><span class="glyphicon glyphicon-pencil"></span></a>
                <a name="delete" href="{% url 'course:delete_course' course.id %}" ><span class="glyphicon glyphicon-trash" style="margin-left:20px;"></span></a>
             
                <a href="#"><span class="glyphicon glyphicon-search" style="margin-left:20px;"></span></a>
            </td>
        </tr>
        {% endfor %}
    </table>
</div>
{% endblock %}

五 测试

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/85853512