序号 | 名称 | 备注 |
1 | Win7 | 操作系统 |
2 | 开发工具 | Pychram |
3 | Python3.4 | python版本 |
4 | Django1.7 | Django版本 |
5 | SQLite | 数据库 |
6 | 屌丝码农一名 | 核心角色 |
通过本案例项目,能学到什么?
(1)表单post提交参数数据
(2)python对csrf的支持与应用
(3)增删改查的处理思路
(4)python的Api熟悉
(5)python里面重定向的使用
(6)模板文件的编写格式
(7)mvt模式的了解
(8)python隔行换色的实现
(9)python对象关系映射使用
先看几个案例的几个截图:
1,查询所有:
2,添加一条数据:
3,修改数据:
4,删除一条数据:
model里的代码:
from django.db import models # Create your models here. class Student(models.Model): name=models.CharField(max_length=20) age=models.IntegerField(max_length=3) class Subject(models.Model): student=models.ForeignKey(Student) sub_name=models.CharField(max_length=20) sub_num=models.IntegerField(default=0)
views里面的代码:
import builtins from django.shortcuts import render,render_to_response from django.http import HttpResponse,HttpResponseRedirect from django.template.context import RequestContext #包装csrf请求,避免django认为其实跨站攻击脚本 from django.views.decorators.csrf import csrf_exempt import random from.models import Student # Create your views here. from django.core.context_processors import csrf def hello(request): return HttpResponse("我是django的第一个例子!") def myhtml(request): return render_to_response('a.html',locals()) def bb(request): return render(request,'bb.html') #访问首页 def beginAdd(request): return render_to_response('add.html') #保存数据 @csrf_exempt def add(request): # c={} id=request.POST['id'] name=request.POST['name'] age=request.POST['age'] st=Student() if len(id) > 0 : print("id不是null") st.id=id; st.age=age st.name=name st.save() return HttpResponseRedirect("/q") #查询所有 def query(request): b=Student.objects.all() #for e in b: #print(e.id," ",e.age," ",e.name) return render_to_response('curd.html',{'data':b}) #显示一条数据 def showUid(request): id=request.GET['id']; bb=Student.objects.get(id=id) return render_to_response('update.html',{'data':bb}) #删除数据 def delByID(request): id=request.GET['id']; bb=Student.objects.get(id=id) bb.delete() return HttpResponseRedirect("/q") datas=[ {"id":"1","name":"华为"}, {"id":"2","name":"三星"}, {"id":"4","name":"Apple"}, {"id":"5","name":"中国"}, {"id":"6","name":"JAVA程序员"}, {"id":"7","name":"solr"}, {"id":"8","name":"hadoop编程"}, {"id":"9","name":"python"}, ] def show(request): return render_to_response('data.html',{'datas':datas})
url里面的代码:
from django.conf.urls import patterns, include, url from django.contrib import admin #导入view定义的方法 from CurdWeb.views import hello,myhtml,bb,show,add,query,beginAdd,delByID,showUid urlpatterns = patterns('', # Examples: # url(r'^$', 'Django项目.views.home', name='home'), # url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)), #基于hellword的绑定 url(r'^hello/$',hello), url(r'^myhtml/$',myhtml), url(r'^cc/$',bb), #url映射到view层,并获取展现数据 url(r'^show$',show), #添加数据映射 url(r'^add$',add), #查询所有数据的映射 url(r'^q$',query), #访问添加首页的html url(r'^index.html$',beginAdd), #删除用户根据id url(r'delete$',delByID), #更新的方法,根据id url(r'showid$',showUid) )
html页面
添加数据,提交form表单
数据展示平台
用户编号 | 用户姓名 | 用户年龄 | 操作 |
{{ d.id }} | {{ d.name }} | {{ d.age }} | [url=/delete?id={{ d.id }}]删除[/url] [url=/index.html]添加[/url] [url=/showid?id={{ d.id }}]修改[/url] |
动态展示学生信息数据
编号 | 名字 | {% for m in datas %}
{{ m.id }} | {{ m.name }} |
修改个人信息