Python+Django+SAE系列教程13—–MySQL记录的添\删\改 建立了数据库后,我们就来做一个简单的表( person_classroom )的添加、删除、修改的操作。 首先我们建立一个添加的页面的模板 Classroom_Add.html(添加的表单) 并把它放在 Bidding\templates\person
Python+Django+SAE系列教程13—–MySQL记录的添\删\改
建立了数据库后,我们就来做一个简单的表(person_classroom)的添加、删除、修改的操作。
首先我们建立一个添加的页面的模板Classroom_Add.html(添加的表单)并把它放在Bidding\templates\person中:
Classroom_Add.html:
数据库操作简单表的添加 <body>这里是Classroom的添加页面
{% if error %}请输入班级名称和导师姓名
{% endif %}
项目 | 内容 |
班级名称: | |
导师姓名: | |
Classroom_Add_results.html:
查询用户结果页 <body>
班级:{{name}}添加成功 ! |
点击返回 |
上面的 这个文件时添加后的结果页。
然后建立对应的view,我们修改person/views.py 文件
Views.py:
# -*- coding: utf-8 -*-from django.shortcuts import render_to_responsefrom django.db import connection,transactionfrom person.models import *def ClassroonAdd(request): if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']: name = request.GET['name'] tutor = request.GET['tutor'] cursor=connection.cursor() sql='insert into person_classroom (name,tutor) values (\''+name+'\',\''+tutor+'\')' cursor.execute(sql) transaction.commit_unless_managed() cursor.close() return render_to_response('person/Classroom_Add_results.html', {'name': name}) else: return render_to_response('person/Classroom_Add.html', {'error': True})
在修改一下urls.py文件:
from django.conf.urls import patterns, include, url# Uncomment the next two lines to enable the admin:# from django.contrib import admin# admin.autodiscover()urlpatterns = patterns('', # Examples: # url(r'^$', 'Bidding.view本文来源gao*daima.com搞@代#码&网6s.home', name='home'), # url(r'^Bidding/', include('Bidding.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), url(r'^hello/$', 'Bidding.views.hello'), url(r'^time/$', 'Bidding.views.current_datetime'), url(r'^time/plus/(\d{1,2})/$', 'Bidding.views.hours_ahead'), url(r'^hello_base/$', 'Bidding.views.hello_base'), url(r'^request_test/$', 'Bidding.views.request_test'), url(r'^UsersSearch/$', 'Bidding.Users.views.search_form'), url(r'^search/$', 'Bidding.Users.views.search'), url(r'^ClassRoom/add/$', 'person.views.ClassroonAdd'),)
这时我们的添加就做好了,访问一下classroom/add这个 页面,就可以看到结果了。
不过上面我们所说的办法是执行一个原始的sql语句,这个方式其实并不是Django推荐的,我们可以直接使用models操作数据库的方法,改造一下ClassroomAdd这个视图:
def ClassroonAdd(request): if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']: name = request.GET['name'] tutor = request.GET['tutor'] c = ClassRoom(name=name,tutor=tutor) c.save() return render_to_response('person/Classroom_Add_results.html', {'name': name}) else: return render_to_response('person/Classroom_Add.html', {'error': True})