django框架两个使用模板实例
本文实例讲述了django框架使用模板。分享给大家供大家参考,具体如下:
models.py:
fromdjango.dbimportmodels #Createyourmodelshere. classBook(models.Model): title=models.CharField(max_length=32,unique=True) price=models.DecimalField(max_digits=8,decimal_places=2,null=True) pub_date=models.DateField() publish=models.CharField(max_length=32) is_pub=models.BooleanField(default=True) authors=models.ManyToManyField(to="Author") classAuthorDetail(models.Model): gf=models.CharField(max_length=32) tel=models.CharField(max_length=32) classAuthor(models.Model): name=models.CharField(max_length=32) age=models.IntegerField() #与AuthorDetail建立一对一的关系 #ad=models.ForeignKey(to="AuthorDetail",to_field="id",on_delete=models.CASCADE,unique=True) #OneToOneField表示创建一对一关系。on_delete=models.CASCADE表示级联删除。假设a表删除了一条记录,b表也还会删除对应的记录 ad=models.OneToOneField(to="AuthorDetail",to_field="id",on_delete=models.CASCADE,)
urls.py:
fromdjango.conf.urlsimporturl fromdjango.contribimportadmin fromapp01importviews urlpatterns=[ url(r'^admin/',admin.site.urls), #url(r'',views.index),#这一条不能放上面,会造成死循环 url(r'index/$',views.index), url(r'books/add/$',views.add), url(r'books/manage/',views.manage), url(r'books/delete/(?P\d+)',views.delete), url(r'books/modify/(?P \d+)',views.modify), ]
views.py:
fromdjango.shortcutsimportrender,HttpResponse fromapp01importmodels #Createyourviewshere. defindex(request): ret=models.Book.objects.all().exists()#True和False ifret: book_list=models.Book.objects.all() returnrender(request,'index.html',{'book_list':book_list}) else: #hint='' hint='' returnHttpResponse(hint) defadd(request): ifrequest.method=="POST": title=request.POST.get("title") price=request.POST.get("price") pub_date=request.POST.get("pub_date") publish=request.POST.get("publish") is_pub=request.POST.get("is_pub") #插入一条记录 obj=models.Book.objects.create(title=title,price=price,publish=publish,pub_date=pub_date,is_pub=is_pub) print(obj.title) hint='' returnHttpResponse(hint) returnrender(request,"add.html") defmanage(request): ret=models.Book.objects.all().exists() print(ret) ifret: book_list=models.Book.objects.all() returnrender(request,"manage.html",{"book_list":book_list}) else: hint='' returnHttpResponse(hint) defdelete(request,id): ret=models.Book.objects.filter(id=id).delete() print('删除记录%s'%ret) ifret[0]: hint='' returnHttpResponse(hint) else: hint='' returnHttpResponse(hint) defmodify(request,id): ifrequest.method=="POST": title=request.POST.get('title') price=request.POST.get("price") pub_date=request.POST.get("pub_date") publish=request.POST.get("publish") is_pub=request.POST.get("is_pub") #更新一条记录 ret=models.Book.objects.filter(id=id).update(title=title,price=price,publish=publish,pub_date=pub_date, is_pub=is_pub) print('更新记录%s'%ret) ifret:#判断返回值为1 hint='' returnHttpResponse(hint)#js跳转 else:#返回为0 hint='' returnHttpResponse(hint)#js跳转 book=models.Book.objects.get(id=id) returnrender(request,"modify.html",{"book":book})
index.html:
{%extends'base.html'%} {%blocktitle%}查看书籍 {%endblocktitle%} {%blockcontent%}查看书籍
{%forbookinbook_list%} 名称 价格 出版日期 出版社 是否出版 {%endfor%} {%endblockcontent%} {{book.title}} {{book.price}} {{book.pub_date|date:"Y-m-d"}} {{book.publish}} {%ifbook.is_pub%} 已出版 {%else%} 未出版 {%endif%}
add.html:
{%extends'base.html'%} {%blocktitle%}添加书籍 {%endblocktitle%} {%blockcontent%}添加书籍
{%csrf_token%} 书籍名称