Django 学习 4 表单处理
来源:互联网 发布:农村淘宝运营方案模板 编辑:程序博客网 时间:2024/06/05 21:06
1.接下来,我们利用现有的Book数据做一个简单的查询页面。这既然是基于Book app的,我们就把搜索视图放在books.views中:
books/views codes:
2.同时,我们也要有相匹配的查询页面模板,他放在templates/books/下
templates/books/search.html codes:
3.接下来就是在URLconf中添加视图索引
urls codes:
4.Django拥有创建自定义表单的模板,暂且不议
books/views codes:
from django.db.models import Q #导入查询对象 from django.shortcuts import render_to_response #返回response的快捷方法 from models import Book def search(request): query = request.GET.get('q','') #request对象的GET方法将查询字符串返回为键:值字典,用get()方法来取字典值可以在不存在键的时候返回一个默认值 if query: qset = ( Q(title__icontains=query)| Q(authors__first_name__icontains=query)| Q(authors__last_name__icontains=query) ) results = Book.objects.filter(qset).distinct() #可以让一个Q对象作为filter()方法的参数,Q对象以某种查询逻辑初始化,为查询提供了这种逻辑逻辑。distinct()去重 else: results = [] render_to_response("books/search.html",{'results':results,'query':query})
2.同时,我们也要有相匹配的查询页面模板,他放在templates/books/下
templates/books/search.html codes:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>Search{% if query %} Results{% endif %}</title> </head> <body> <h1>Search</h1> <form action="." method="GET"> <label for="q">Search: </label> <input type="text" name="q" value="{{ query|escape }}"> <input type="submit" value="Search"> </form> {% if query %} <h2>Results for "{{ query|escape }}":</h2>#在所有使用 query 和 book 的地方,我们通过 escape 过滤器来确保任何可能的恶意的搜索文字被过滤出去,以保证不被插入到页面里。 {% if results %} <ul> {% for book in results %} <li>{{ book|escape }}</l1> {% endfor %} </ul> {% else %} <p>No books found</p> {% endif %} {% endif %} </body> </html>
3.接下来就是在URLconf中添加视图索引
urls codes:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^search.html$','books.views.search'), # Examples: # url(r'^$', 'mysite.views.home', name='home'), # url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)), ]
4.Django拥有创建自定义表单的模板,暂且不议
0 0
- Django 学习 4 表单处理
- Django 处理处理表单
- Django表单处理
- Django 表单处理(二)
- Django 表单处理(一)
- Django表单处理
- django学习4 get post 表单
- Django-表单学习总结
- django中处理表单实例
- Jsp学习4-表单处理
- 【django 学习笔记】06-表单
- django book2 表单学习笔记
- django学习笔记6:表单
- django表单处理(二)--数据验证
- django表单处理(一)--最简单的表单
- django学习记录-控制表单错误
- Django学习笔记11-使用表单
- django学习08---Form表单提交
- Android layout 盲点
- 设计模式——单例模式
- GIT基本使用命令整理
- oracle事务管理(9)
- Atom飞行手册翻译: 2.2 在Atom中移动
- Django 学习 4 表单处理
- 报错,但不影响运行ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
- systemctl命令用法
- sql函数的使用(10)
- ios开发学习笔记(转载)
- cinder swift的区别
- java web 开发(二)
- 软件开发
- sql函数的使用-日期函数(11)