Python3.4+Django1.7+SQLite3实现增删改查

阅读更多
前2篇文章,散仙写了关于Django的入门安装,以及简单模拟数据库的MVC使用,那么本篇就来稍微深入下,来看看如何使用Django来实现一个增删改查的小例子:

序号 名称 备注
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,查询所有:

Python3.4+Django1.7+SQLite3实现增删改查_第1张图片

2,添加一条数据:

Python3.4+Django1.7+SQLite3实现增删改查_第2张图片


Python3.4+Django1.7+SQLite3实现增删改查_第3张图片


3,修改数据:


Python3.4+Django1.7+SQLite3实现增删改查_第4张图片



Python3.4+Django1.7+SQLite3实现增删改查_第5张图片
4,删除一条数据:

Python3.4+Django1.7+SQLite3实现增删改查_第6张图片


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表单







请输入名字
请输入年龄






    
    数据展示平台





{%  for d in data %}

{% endfor %}

用户编号 用户姓名 用户年龄 操作
{{ 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 %}
   
{% endfor %}
编号名字
{{ m.id }}{{ m.name }}






    
    修改个人信息




名字:
年龄:

  • Python3.4+Django1.7+SQLite3实现增删改查_第7张图片
  • 大小: 184.6 KB
  • Python3.4+Django1.7+SQLite3实现增删改查_第8张图片
  • 大小: 55.2 KB
  • Python3.4+Django1.7+SQLite3实现增删改查_第9张图片
  • 大小: 189.4 KB
  • Python3.4+Django1.7+SQLite3实现增删改查_第10张图片
  • 大小: 69.1 KB
  • Python3.4+Django1.7+SQLite3实现增删改查_第11张图片
  • 大小: 168.6 KB
  • Python3.4+Django1.7+SQLite3实现增删改查_第12张图片
  • 大小: 183.1 KB
  • 查看图片附件

你可能感兴趣的:(python,django,sqlite)