web开发第五课信息存储到数据库
来源:互联网 发布:淘宝卖家怎么看运费险 编辑:程序博客网 时间:2024/05/21 08:54
修改urls.py
首先要把之前的url路由修改
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^student$', views.show_all_students), url(r'^showadd_project$',views.showadd_project),]+ static("/s",document_root="./static")然后把views.py中的studentTable删掉,因为不存储在内存中,而是存储在数据库中
# Create your views here.from django.http import HttpResponsestudentTable = { 'zhangchong':{ 'loginname':'zhangchong', 'name':u'张冲', 'age': 23, }, 'lisi':{ 'loginname':'lisi', 'name':u'李四', 'age': 25, }, 'xudandan':{ 'loginname':'xudandan', 'name':u'', 'age':23 },}先增加数据,先把course实例化一个对象
def showadd_course(request): studentList =[] #如果接受的请求中有name,就需要添加课程信息到数据库中 if 'name' in request.GET: name = request.GET['name'] desc = request.GET['desc'] displayidx = int(request.GET['displayidx']) #注意数据库里面添加记录的方法,是实例化Model累,传入字段参数值 #最后调用save course=Course(name=name,desc=desc,displayidx=displayidx) course.save()
先用Course类实例化一个对象,实例化的参数就是表里面的字段name,desc,displayidx产生一个实例对象project,然后对这个实例对象course调用save方法.
Django在数据库里面添加记录的方法一
实例化Model类,传入字段参数值
course=Course(name=name,desc=desc,displayidx=displayidx) course.save()Model类就对应表,Model类的一个实例就对应表中的一条记录
表结构的定义就像类定义(表的字段就像类的属性)
表里面的一个记录就是类里面的一个实例,不需要执行sql语句,sql语句被底层给封装了,SQL语句是很底层的实现方式,面向对象是一种比较上层的方法的操作就实现了对数据库的操作
方法二
Course.objects.create(name=name,desc=desc,display_idx=displayidx)
显示数据库中已经存在的记录
获取所有记录
Course.objects.all( )
返回的是QuerySet类型的对象,很像一个list;QueryDict很像一个dict,get请求返回的
修改模板
{% for one in courseList %}<tr><td>{{one.name}}</td><td>{{one.desc}}</td><td>{{one.displayidx}}</td></tr>{% endfor %}get请求会带来安全问题
<form method='post'> <fieldset>修改为post会遇到问题
CSRF - Cross Site Request Forgery 跨站点伪造请求
http://www.cnblogs.com/shytong/p/5308667.html (CSRF简介)
http://blog.csdn.net/ybdesire/article/details/48196843(Django的CSRF保护引起的403)
加入
from django.views.decorators.csrf import csrf_exempt@csrf_exemptdef showadd_course(request): studentList =[] #如果接受的请求中有name,就需要添加课程信息到数据库中 if 'name' in request.GET:
过滤查询filter
使用filter方法
courseList = Course.objects.all().filter(display_idx=1)
过滤条件的文档在https://docs.djangoproject.com/en/1.11/ref/models/querysets/#id4
#查询数据Course.objects.all() #获取全部数据Course.objects.all().values('name')#只取name列Course.objects.all().values_list('id','user') #取出id和user列,并生成一个表#增加数据Course.objects.create(name='xxx',desc='xxx',display_idx='xxx')#或course=Course(name='xxx',desc='xxx',display_idx='xxx')course.save()#删除数据Course.objects.filter(name='xxx').delete()#删除name=xxx行数据#改数据Course.objects.filter(name='xxx').update(desc='asd')#或course=Course.objects.get(name='xxx')course.desc = 'asd'course.save()
详细见参考http://www.cnblogs.com/yangmv/p/5327477.html
- web开发第五课信息存储到数据库
- Web Storage作为简单数据库存储信息
- 存储图片到数据库中的一个异常信息
- PHP–将session信息存储到mysql数据库中
- Python爬取网页信息并且存储到MySQL数据库
- web开发中文数据写入到数据库乱码问题
- 《大话Java:从零基础到数据库,Web开发》读书笔记
- 数据库中存储Session信息
- 数据库存储-读取资源信息
- SP2010开发和VS2010专家"食谱"--第五章节—Web部件(4)--添加配置属性到Web部件
- 前端开发-Web存储
- 如何把log4j中的message信息存储到数据库中 DataBase
- 上传图片,显示,并且把图片信息存储到数据库表中9.17
- 论如何将复选框中的信息存储到数据库中
- 利用jws发布一个查询员工信息的Web服务(员工信息存储在数据库中)
- 数据库学习第五课
- 《flask web开发》第五章重点
- java web从网页表单输入数据存储到MySQL数据库
- 记一次线上请求缓慢问题处理
- Java总结篇系列:Java多线程(一)
- SpringAOP配置
- python学习learning_curve和validation_curve
- 先安装keras、TensorFlow后使用Anaconda安装Jupyter
- web开发第五课信息存储到数据库
- 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
- 联想小新潮7000如何bios设置u盘启动操作
- 也许,这样理解HTTPS更容易
- js判断图片加载完成
- JS中 实现for循环里面睡眠1秒再执行的相同的效果
- 测试分布式系统的线性一致性
- mac删除系统app
- 无法访问CentOS中的tomcat