本项目只有代码的呈现,并不包括环境的调试以及数据库的连接等等。
本栏主要介绍Django对MySQL数据库的增删查改操作
models.py:
class Message(models.Model):
text1 = models.CharField(max_length=256, verbose_name='链接')
text2 = models.CharField(max_length=256, verbose_name="文字")
def to_dict(self):
return {
'text1': self.text1,
'text2': self.text2,
}
增加操作:
views.py:
def message_add(request):
# 定义一个增加函数
if request.method == 'POST':
# 如果是POST请求方式,就获得text1和text2
text1 = request.POST.get('text1')
text2 = request.POST.get('text2')
models.Message.objects.create(
# create添加数据
text1=text1,
text2=text2
)
return redirect('/message/')
# 调用函数message
def message(request):
# 显示函数-显示数据信息
messages = models.Message.objects.all()
# 从数据库中获取数据保存在字典中
return render(request, 'index/message.html', {'messages': messages})
# index/message.html展示的页面,{'messages': messages}字典
index/message.html
删除:
views.py
def message_delete(request):
# 定义一个删除函数
message_id = request.GET.get('id')
# 从前端获取id
line = models.Message.objects.get(id=message_id)
# 删除id=message_id那条数据
line.delete()
return redirect('/message/')
# 调用显示函数,对应的前端代码在 index/message.html
修改:
views.py
def message_jump(request):
# 当你点击前端的修改按钮是,调用该函数
messages_id = request.GET.get("id")
# 获得id
request.session['messages_id'] = messages_id
# 将该id缓存起来
return redirect('/message_page/')
# 调用函数
def message_page(request):
return render(request, 'index/message_update.html')
# 跳转修改页面
def message_update(request):
# 修改函数
message_id = request.session['messages_id']
if request.method == 'POST':
text1 = request.POST.get('text1')
text2 = request.POST.get('text2')
models.Message.objects.filter(id=message_id).update(
#当id = 缓存的id时候,进行update修改
text1=text1,
text2=text2
)
return redirect('/message/')
对应的修改的界面:
'index/message_update.html'
查找:
注意在models.py中定义的函数to_dict
models.py
class Message(models.Model):
text1 = models.CharField(max_length=256, verbose_name='链接')
text2 = models.CharField(max_length=256, verbose_name="文字")
def to_dict(self):
return {
'text1': self.text1,
'text2': self.text2,
}
views.py
def search(request):
if request.method == 'POST':
text1 = request.POST.get('text1')
text2 = request.POST.get("text2")
search_dict = dict()
if text1:
search_dict['text1'] = text1
if text2:
search_dict['text2'] = text2
text_order_info = PhoneInf.objects.filter(**search_dict)
messages = [text_order.to_dict() for text_order in text_order_info]
messages = {
'messages ': messages
}
return render(request, 'index/message.html', messages )