一、使用环境
python2.7,django>1.7
二、数据库进行配置
在setting文件中进行修改
1、找到DATABASES
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘, # Add ‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘.
‘NAME‘: ‘studentInfo‘, # Or path to database file if using sqlite3.
‘USER‘: ‘root‘, # Not used with sqlite3.
‘PASSWORD‘: ‘123456‘, # Not used with sqlite3.
‘HOST‘: ‘‘, # Set to empty string for localhost. Not used with sqlite3.
‘PORT‘: ‘‘,
}
}
2、找到INSTALLED_APPS,添加创建的app名。
INSTALLED_APPS = (
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘article‘,
)
3、创建数据表
django框架可以创建数据表,但是不可以创建数据库。所以,在创建数据表之前需要手动创建数据库。
常用命令:
- python manage.py syncdb。将创建的数据表导入到数据库中,如果已经创建好,修改过后,不会更新。需要使用另外的命令。
- python manage.py makemigrations.
- python manage.py migrate
- python manage.py validate 检查有效性,在执行世纪导入数据库之前,检查语句是否有问题。
在需要使用数据库的app包里编辑models.py文件,生成基于models.Model的类,就产生一个数据表。例子如下:
1 class StudentInfo(models.Model): 2 3 name = models.CharField(max_length = 50,default=""); 4 studentID = models.CharField(max_length=12,default=""); 5 sex = models.CharField(max_length = 5,default=""); 6 age = models.IntegerField(default=0); 7 address = models.TextField(default="")
4、数据库表的增删改查
- 增
(1)
c = User(name = name);
c.save();
(2)
User.objects.create(name=name)
- 删
使用对象的delete方法
1 def Delete(request,id): 2 objs = User.objects.filter(id=id); 3 if objs: 4 User.objects.get(id=id).delete(); 5 return HttpResponse(objs[0].name + " delete success") 6 else: 7 return HttpResponse("no data match the query");
- 改
使用update方法
def Update(request,id,name): objs = User.objects.filter(id=id); if objs: obj = User.objects.get(id=id) obj.name = name; obj.save(); return HttpResponse("%s update success"%id); else: return HttpResponse("no data match the query");
- 查
使用get或者filter方法
def GetByid(request,id): objs = User.objects.filter(id=id); if objs: obj = User.objects.get(id=id); return HttpResponse("name is %s"%obj.name); else: return HttpResponse("not find id=%s"%id);