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 ...
随机推荐
- PostgreSQL入门,PostgreSQL和mysql
PostgreSQL被誉为“世界上功能最强大的开源数据库”,是以加州大学伯克利分校计算机系开发的POSTGRES 4.2为基础的对象关系型数据库管理系统. PostgreSQL支持大部分 SQL标准并 ...
- LCA算法总结
LCA问题(Least Common Ancestors,最近公共祖先问题),是指给定一棵有根树T,给出若干个查询LCA(u, v)(通常查询数量较大),每次求树T中两个顶点u和v的最近公共祖先,即找 ...
- uva 10344 23 out of 5 凑运算结果 全排列+dfs
五个数三个运算符号,排列之后凑成结果为23,不考虑优先级. 很水,数据量也不大,先生成五个数的全排列,用dfs找出结果能否为23即可. 代码: #include <cstdio> #inc ...
- dcm4chee 修改默认(0002,0013) ImplementationVersionName
dcm4chee-2.17.3-psql\server\default\lib\dcm4che.jar ----org\dcm4che\Implementation.properties dcm4ch ...
- 在Web应用程序中执行计划任务(多线程)
在业务复杂的应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份或同步数据库,定时发送电子邮件等,我们称之为计划任务.实现计划任务的方法也有很多,可以采用SQ ...
- js遍历jstl数组
查询到在js中可以使用jstl <script> <c:forEach items="${channel.templates}" var="templa ...
- 高德地图JS-API (超简单Get新技能√)
上几章我们研究了百度地图SDK的用法,虽然不难但是配置起来也是相当的繁琐,现在高德LBS开放平台推出了基于HTML5的地图组件,我们可以通过WebView直接用URL 以GET方式进行请求就可以实现位 ...
- MFC中位图的显示
分析: 首先,我们要明确一点,窗口的绘制包括两个步骤,首先:擦除窗口背景,然后再对窗口重新进行绘制:当擦除窗口背景时,程序会发生一个WM_ERASEBKGND消息,因此可以在此响应函数中完成位图的显示 ...
- uva 10712 - Count the Numbers(数位dp)
题目链接:uva 10712 - Count the Numbers 题目大意:给出n,a.b.问说在a到b之间有多少个n. 解题思路:数位dp.dp[i][j][x][y]表示第i位为j的时候.x是 ...
- Building LinkedIn’s Real-time Activity Data Pipeline
转自:http://blog.163.com/guaiguai_family/blog/static/20078414520138911393767/ http://sites.computer.or ...