django之创建第8-3个项目-数据库数据提取之高级操作
1、配置test2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <li>获取单个数据</li>
<li>ID:{{student.id}}---name:{{student.name}}---sex:{{student.sex}}</li> </body>
</html>
2、配置student_list。html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <li>遍历数据库student中的数据</li>
{% for student in studentList %}
<li>{{student}}</li> <!--Student objec-->
{% endfor %} <br>
<li>数据过滤</li>
{% for student in studentList %}
<li>{{student.name}},{{student.age}}</li>
{% endfor %} <li>获取单个数据</li>
<li>{{student}}</li> </body>
</html>
3、配置urls文件
# -*- coding: UTF-8 -*-
from django.conf.urls import patterns, include, url urlpatterns = patterns('blog.views',
url(r'^index/$', 'index'),
url(r'^time/$', 'time'),
url(r'^shengfen/$', 'shengfen'),
#url(r'^foo/(\d{4})/$', 'foo'), #表示接收4个数字,#\w+接收至少一个字母
url(r'^foo/(\d{4})/(\w+)/$',"foo"),
url(r'^bar/(?P<id>\d{4})/(?P<name>\w+)/$','bar'),#强制规定bar(request,id,name)处的参数必须为id和name
url(r'^student_list/$','student_list'),
url(r'^test2/$','test2'),
)
4、配置views文件
# Create your views here.
#coding:utf-8
from django.http import HttpResponse
import datetime
#导入templates文件所需导入库
from django.template import loader,Context
#引入Student等模块
from blog.models import * def student_list(request):
t=loader.get_template("student_list.html") #第1种方法:输出数据库中student表中的数据
#studentList = Student.objects.all() # 等价于 select * from student #第2种方法:根据age字段做排序处理并输出结果 .order_by("age")
#studentList = Student.objects.all().order_by("age") #第3种方法:根据age字段做降序处理并输出结果 .order_by("-age")
#studentList = Student.objects.all().order_by("-age") # 第4种方法:支持多个字段排序
#studentList = Student.objects.all().order_by("age","name") # 第5种方法:支持过滤
#studentList = Student.objects.filter( age= 16 ) # 第6种方法:过滤大于16的数据
#age__gt=16等价于age > 16,注意age和__gt之间是没有空格的
studentList = Student.objects.filter(age__gte = 16) c = Context({"studentList": studentList})
return HttpResponse(t.render(c)) def test2(request):
t=loader.get_template("test2.html") #第7种方法:获取单个数据
student = Student.objects.get(id=1) #第8种方法:修改数据库数据并保存
student.name='xiaodeng'
student.age=28
student.intime = '1987-08-22'
student.save() #第9种方法:批量更新数据
studentList=Student.objects.filter(age__lt=17).update(name = 'FengMei') #新增语句,刷新多少次就会增加多少条记录
newData=Student(name='python',age=1000,intime='1999-09-09',sex=0)
newData.save() #删除数据,二次操作会报错,因为索引7已经删除了,不存在了,再次删除索引7当然会出错。
#student = Student.objects.get(id=7)
#student.delete() # 删除所有数据
#Student.objects.all().delete()
#student={} student = Student.objects.get(id=1)
c = Context({"student": student})
return HttpResponse(t.render(c)) class Person():
def __init__(self,name,age,sex):
self.age=age
self.sex=sex
self.name=name def myMethod(self):
return "get it" def time(request):
t = loader.get_template("time.html")
myId = request.GET.get("id")
myName = request.GET.get("name")#获取传递的name的value值
user = {"today": datetime.datetime.now(),"id":myId,"name":myName}
c = Context(user)
return HttpResponse(t.render(c)) def foo(request,myID,myName):
t = loader.get_template("foo.html")
user = {"today": datetime.datetime.now(),"id":myID,"name":myName}
c = Context(user)
return HttpResponse(t.render(c)) def bar(request,id,name):
t = loader.get_template("bar.html")
user = {"today": datetime.datetime.now(),"id":id,"name":name}
c = Context(user)
return HttpResponse(t.render(c)) def shengfen(request):
t = loader.get_template("shengfen.html")
user = {"shengfen":"湖北省恩施市"}
c = Context(user)
return HttpResponse(t.render(c)) def index(request):
#第二个项目
#return HttpResponse("hello,Django") #加载器,加载模板
t=loader.get_template("index.html") # django之创建第4-1个项目-Dict形式
user = {"name": "xiaodeng", "sex": "male", "age": 28,"today":datetime.datetime.now()}
c = Context({"test": user}) # 在这里test位变量,user为变量的值
return HttpResponse(t.render(c))
5、百度云盘:django之创建第8-3个项目-数据库数据提取之高级操作
django之创建第8-3个项目-数据库数据提取之高级操作的更多相关文章
- django之创建第8-2个项目-数据库数据提取之过滤操作符相关
"""1)age__gt = 16等价于age > 162)age = 163)age__gte = 16等价于age >= 164)name__contai ...
- django之创建第12个项目-加载图片
百度云盘:django之创建第12个项目-加载图片 1.setting配置 #静态文件相关配置 # URL prefix for static files. # Example: "http ...
- django之创建第11个项目-页面整合
目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head ...
- django之创建第10-1个项目-图片上传并记录上传时间
1.百度云盘:django之创建第10-1个项目-图片上传并记录上传时间 2.主要修改的配置文件有3个,forms.views和models3个文件以及html 3.forms.py文件修改 #cod ...
- django之创建第10个项目-图片上传方式1
1.upload.HTMl <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang=& ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- django之创建第8个项目-数据库配置及同步研究
1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your mode ...
- django之创建第7-4个项目-配置views文件实现url传值
即:怎么实现url?name=xiaodeng&age=28等类似传值处理 1.配置views文件 # Create your views here. #coding:utf-8 from d ...
随机推荐
- 深入理解多线程(五)—— Java虚拟机的锁优化技术
本文是<深入理解多线程>的第五篇文章,前面几篇文章中我们从synchronized的实现原理开始,一直介绍到了Monitor的实现原理. 前情提要 通过前面几篇文章,我们已经知道: 1.同 ...
- C#程序集Assembly学习随笔(第一版)_AX
①什么是程序集?可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件.嗯,这个确实简单了些,但我是这么理解的.详细:http://blog.csdn.net/sws8327/ ...
- [转]mysqldump备份还原和mysqldump导入导出语句大全详解
FROM : http://www.cnblogs.com/zeroone/archive/2010/05/11/1732834.html mysqldump备份还原和mysqldump导入导出语句大 ...
- 7.3 netty3基本使用
由于dubbo默认使用的是netty3进行通信的,这里简单的列出一个netty3通信的例子. 一 server端 1 Server package com.hulk.netty.server; imp ...
- 代码提示级别设置 inspection
配置文件 profile [ˈproʊfaɪl] n.侧面; 外形,轮廓; 人物简介; vt.描-的轮廓; 给-画侧面图; inspection [ɪnˈspɛkʃən] n.检验; 检查; 视察; ...
- IT痴汉的工作现状42-Android越用越慢?立场不同,谈何信任!
大海和我一次闲聊中问,你做安卓这么久.能给我解释一下为什么安卓手机用半年后就变慢吗? 呃... 伟仔还真是头一次听说这么精准的半年就慢的说法. 大海继续说."能不能是厂家有益设置的?哦,也不 ...
- VS2013开发一个简单的asmx接口程序
一.开发和调试 1:创建一个ASP.NET web应用程序 2:选择空的模板 3:系统生成项目目录 4:右键项目-添加项-新建项 5:选择Web 服务(ASMX) 6:选择之后项目中会有一个Test ...
- 例子:使用Grunt创建一个Node.js类库
创建一个文件夹. 打开命令行或者powershell, 运行npm init,根据提示填入package的信息. 在文件夹中创建index.js文件. /*! * mymongolib * Cop ...
- GPUImage API文档之GPUImageInput协议
GPUImageInput协议主要包含一些输入需要渲染目标的操作. - (void)newFrameReadyAtTime:(CMTime)frameTime atIndex:(NSInteger)t ...
- [Canvas]碰撞球
观赏动态效果请点此下载并用Chrome/Firefox打开index.html 图例: 代码: <!DOCTYPE html> <html lang="utf-8" ...