单表操作之图书管理系统

展示

def books(request):
    book_list = Book.objects.all()
    return render(request, "books.html", {"book_list": book_list})

1330952-20190812050845644-1660126758.png

1330952-20190812050859216-1891494942.png

添加

def addbook(request):
    
    if request.method == "POST":
        # 获取用户提交的数据
        title = request.POST.get("title")
        price = request.POST.get("price")
        pub_date = request.POST.get("pub_date")
        publish = request.POST.get("publish")
        book = Book.objects.create(title=title, price=price, pub_date=pub_date, publish=publish)
        return redirect(reverse("books"))
    else:
        return render(request, "addbook.html")

1330952-20190812050916338-336867027.png

鼠标放在添加书籍按钮,浏览器左下角有一个地址

1330952-20190812050940298-781746467.png

1330952-20190812050955216-482368947.png

1330952-20190812051009649-336733368.png

删除

def delbook(request, nid):
    Book.objects.get(pk=nid).delete()
    return redirect(reverse("books"))

1330952-20190812051029482-2025818738.png

1330952-20190812051042545-269266764.png

1330952-20190812051054165-1324633091.png

修改

def update_book(request, nid):
    if request.method == 'GET':
        book = Book.objects.get(pk=nid)
        return render(request, 'update_book.html', locals())
    else:
        title = request.POST.get("title")
        price = request.POST.get("price")
        pub_date = request.POST.get("pub_date")
        publish = request.POST.get("publish")

        return redirect(reverse("books"))

1330952-20190812051147454-1803018635.png

1330952-20190812051203745-984967985.png

1330952-20190812051227461-1146106205.png

鼠标点击最后第五本书籍,来到对应的编辑页面,并且表单中有它的信息,将其修改

1330952-20190812051241132-1800521893.png

URL配置

from app01 import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^books/$', views.books, name="books"),
    url(r'^books/add/$', views.addbook),
    url(r'^books/delete/(?P<nid>\d+)$', views.delbook),
    url(r'^books/update/(\d+)$', views.update_book),

]

补充

在创建书籍和修改书籍时,代码中总要一个一个的获取书籍信息,然后再一个一个的进行提交,很是麻烦。可以先将获取的数据转成字典格式,然后再进行添加或修改

1330952-20190812051257343-1267445144.png

1330952-20190812051309305-1198749260.png

转载于:https://www.cnblogs.com/qiuxirufeng/p/11337588.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值