1 #coding=utf-8 2 from __future__ import unicode_literals 3 4 from django.shortcuts import render,render_to_response 5 from django.http import HttpResponse 6 7 from django.template import loader 8 from books import models 9 10 # Create your views here. 11 12 def book_page(request): 13 #取出指定字段所有值 14 #name_list=models.Publisher.objects.values('name',"city") 15 #get查找,只能查询一条数据 16 #name_list=models.Publisher.objects.get(id=1) 17 18 #修改数据,改完再获取 19 #models.Publisher.objects.filter(id=1).update(city="chengdu") 20 #name_list=models.Publisher.objects.get(id=1) 21 22 #修改数据,获取后再改。 23 #name_list=models.Publisher.objects.get(id=1) 24 #name_list.city="guangzhou" 25 #name_list.save() 26 27 #删除数据,找不到,会抛出 Publisher matching query does not exist。 28 models.Publisher.objects.filter(id=2).delete() 29 name_list=models.Publisher.objects.get(id=2) 30 31 #name_list=models.Publisher.objects.all() 32 #name_list=[{'name':'zhangsan','city':'beijing'},{'name':'lisi','city':'shanghai'}] 33 return render_to_response('show.html',{'name_list':name_list}) 34 35 36 def search_form(request): 37 return render_to_response('form.html',{}) 38 39 def search(request): 40 if 'name' in request.GET and request.GET['name']: 41 name=request.GET['name'] 42 books=models.Book.objects.filter(title__icontains=name) 43 return render_to_response('search.html',{'books':books,'query':name}) 44 else: 45 return render_to_response('form.html',{'error':True}) 46 47 def search_form1(request): 48 return render_to_response('form0.html',{}) 49 50 def search1(request): 51 errors=[] 52 if 'name' in request.GET: 53 name=request.GET['name'] 54 if not name: 55 errors.append("Enter a content.") 56 elif len(name)>20: 57 errors.append("Please enter less than 20 code.") 58 else: 59 books=models.Book.objects.filter(title__icontains=name) 60 return render_to_response('search.html',{'books':books,'query':name}) 61 62 return render_to_response('form0.html',{'errors':errors})
1 # -*- coding: utf-8 -*- 2 from __future__ import unicode_literals 3 4 from django.db import models 5 6 # Create your models here. 7 class Publisher(models.Model): 8 name = models.CharField(max_length = 30) 9 address = models.CharField(max_length=50) 10 city = models.CharField(max_length=60) 11 state_province = models.CharField(max_length=30) 12 country = models.CharField(max_length=50) 13 website = models.URLField() 14 #__unicode__Õâžöº¯ÊýÓÃÀŽ·µ»ØijžöÖµ¿ÉÒԺܺõÄÓÃÓÚ²éѯºÍadminœçÃæµÄÏÔÊŸ 15 def __unicode__(self): 16 return self.name 17 18 class Author(models.Model): 19 first_name = models.CharField(max_length=30) 20 last_name = models.CharField(max_length=40) 21 emial = models.EmailField(blank=True,verbose_name = 'e-mail') 22 def __unicode__(self): 23 return u'%s %s'%(self.first_name,self.last_name) 24 25 class Book(models.Model): 26 title = models.CharField(max_length = 100) 27 author = models.ManyToManyField(Author) 28 publisher = models.ForeignKey(Publisher) 29 publication_date = models.DateField(blank = True,null = True) 30 def __unicode__(self): 31 return self.title
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>查询</title> 6 </head> 7 <body> 8 {% if error%} 9 <ul> 10 {% for error in errors%} 11 <li> {{error}}</li> 12 {%endfor%} 13 </ul> 14 {%endif%} 15 <form class="" action="/search/" method="get"> 16 <input type="text" name="name" value=""> 17 <input type="submit" name="submit" value="提交"> 18 </form> 19 </body> 20 </html>
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>查询</title> 6 </head> 7 <body> 8 {% if errors%} 9 <ul> 10 {% for error in errors%} 11 <li> {{error}}</li> 12 {%endfor%} 13 </ul> 14 {%endif%} 15 <form class="" action="/search1/" method="get"> 16 <input type="text" name="name" value=""> 17 <input type="submit" name="submit" value="提交"> 18 </form> 19 </body> 20 </html>
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>result</title> 6 </head> 7 <body> 8 <p> search for: <strong>{{query}}</strong> </p> 9 {% if books%} 10 <p> 11 found {{books | length }} book {{books | pluralize}} 12 </p> 13 <ul> 14 {% for book in books%} 15 <li>{{book.title}}</li> 16 {%endfor%} 17 </ul> 18 {%else%} 19 <p> 20 No books matched your search. 21 </p> 22 {% endif%} 23 </body> 24 </html>
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>show</title> 6 </head> 7 <body> 8 <table border="1"> 9 <thead> 10 <tr> 11 <td> Name</td> 12 <td> City </td> 13 <td> address </td> 14 <td> state_province</td> 15 <td> country </td> 16 <td> website </td> 17 </tr> 18 </thead> 19 <tbody> 20 {#% for line in name_list%#} 21 <tr> 22 <td> {{line.name}} </td> 23 <td> {{line.city}} </td> 24 <td> {{line.address}} </td> 25 <td> {{line.state_province}} </td> 26 <td> {{line.country}} </td> 27 <td> {{line.website}} </td> 28 </tr> 29 {#% endfor%#} 30 <tr> 31 <td> {{name_list.name}} </td> 32 <td> {{name_list.city}} </td> 33 <td> {{name_list.address}} </td> 34 </tbody> 35 </table> 36 </body> 37 </html>
注意:html页面表单中的action属性表示返回到页面地址后边的调用函数,就是页面跳转的意思。