修改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 HttpResponse studentTable = { '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_exempt def 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