5.django表单页面model设计与数据库的增删改

本文介绍了如何在Django中创建APP并设计模型,包括UserMessage模型的定义,数据库配置,以及如何在views.py中接收和处理表单数据。在表单提交后,数据成功保存到数据库,并通过Navicat验证数据写入。同时,文章展示了如何查询特定记录并执行删除操作,最后通过刷新页面和数据库验证删除操作的完成。
摘要由CSDN通过智能技术生成

创建APP文件的时候,django自动为我们创建了models
在这里插入图片描述

点击APP现在我们来设计我们的model

添加我们的APP,message
在这里插入图片描述
回到models.py
新建一个UserMessage根据表单内容我们为数据库设计一个name,email,address ,message ,object_id ,用于保存用户在表单页面填写后的信息保存到数据库
新建Meta,数据库基础配置

class UserMessage(models.Model):
    name = models.CharField(max_length=20,verbose_name="用户名")
    email = models.EmailField(max_length=20, verbose_name="邮箱")
    address = models.CharField(max_length=100, verbose_name="联系地址")
    message = models.CharField(max_length=500, verbose_name="留言信息")
    object_id = models.CharField(max_length=50, default="", primary_key=True, verbose_name="主键")
class Meta:
    verbose_name = "用户留言信息"
    verbose_name_plural = verbose_name
    db_table = "User_Message"

再到views.py中,编写网页数据如何接收。
通过request.POST得到用户在表单页面填写的数据,然后在通过model把数据保存到数据库。

from .models import UserMessage
def getform(request):
    if request.method == "POST":
        name = request.POST.get('name','')
        email = request.POST.get('email', '')
        address = request.POST.get('address', '')
        message = request.POST.get('message', '')
        object_id = request.POST.get('csrfmiddlewaretoken','')
        user_message = UserMessage()
        user_message.name = name
        user_message.email = email
        user_message.address = address
        user_message.message = message
        user_message.object_id = object_id
        user_message.save()
    return render(request, 'Message_board.html')

最后在Message_board.html,中将form中的action改为urls.py的连接/form/,在form末尾加上{% csrf_token %}不然会引发403错误。
在这里插入图片描述
然后task一下。
在这里插入图片描述
输入django命令:makemigrations message
manage.py@djangostart > makemigrations message
输入django命令:migrate message
manage.py@djangostart > migrate message

完成后在debug运行整个django,
在这里插入图片描述
浏览器输入:http://127.0.0.1:8000/form/
在表单填写信息测试数据库是否能写入数据。
在这里插入图片描述
提交后,我们打开Navicat,看看数据是否有写入,跟我们填写的信息一样哦,大功告成!!!
在这里插入图片描述
数据库的查询跟删除:
在views.py中
首先查询name为stjas的是否存在,然后在删除。

def getform(request):
    all_messages = UserMessage.objects.filter(name="stjas")
    all_messages.delete()
    return render(request, 'Message_board.html')

在这里插入图片描述
代码编写好以后重新运行,刷新网页http://127.0.0.1:8000/form/
回到Navicat,刷新页面发现数据已经删除了。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值