1,数据库配置(settings.py文件配置)
我这里用的是本地数据库。
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'information','USER': 'root','PASSWORD': '','HOST': '127.0.0.1','PORT': '3306',}
}
NAME是数据库名称,USER是MYSQL账户,PASSWORD是密码,HOST是主机,PORT是端口。
2,数据库查询数据
在views.py文件中:
from django.db import connection
def infor(request):with connection.cursor() as cur:cur.execute('select * from infor;')res = cur.fetchall()# res = cur.fetchone()return HttpResponse('hello!!!')
cur.fetchall()查询到全部数据之后就可以用python操作数据啦。
res = cur.fetchone() 查询某一条数据
3,数据库插入数据
def infor_ajax(request):if request.method == "POST":# 获取前端提交的数据username = request.POST.get("name", 0)age = request.POST.get("age", 0)# 添加到数据库with connection.cursor() as cur:cur.execute('insert into infor values (%s, %s)', (username, age))return render(request, 'index.html')
4,数据库删除数据
def deleteinfor(request):if request.method == "POST":# 获取前端提交的数据name = request.POST.get("name", 0)age = request.POST.get("age", 0)with connection.cursor() as cur:cur.execute("delete * from infor where username=%s",(name))# res = cur.fetchall()return HttpResponse('success!!!')
5,数据库修改更新数据
def updateinfor(request):if request.method == "POST":# 获取前端提交的数据name = request.POST.get("name", 0)age = request.POST.get("age", 0)with connection.cursor() as cur:cur.execute("update infor set username=%s",(name))# res = cur.fetchall()return HttpResponse('success!!!')
6,views.py中return的方式
6.1,return render()
return render(request, 'index.html')
return render(request, 'index.html', {'msg': '提交成功!'})
在html页面中调用则是:{{ msg }}
6.2,return HttpResponse()
return HttpResponse('hello!!!')
6.3,return HttpResponseRedirect()
return HttpResponseRedirect('/index/')
return HttpResponseRedirect('/index/', {'msg': '提交成功!'})