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%}
{{book.title}}
{{book.price}}
{{book.pub_date|date:"Y-m-d"}}
{{book.publish}}
{%ifbook.is_pub%}
已出版
{%else%}
未出版
{%endif%}
{%endfor%}
{%endblockcontent%}
add.html:
{%extends'base.html'%}
{%blocktitle%}
添加书籍
{%endblocktitle%}
{%blockcontent%}
添加书籍
{%csrf_token%}
书籍名称