留言板0.4_model中的数据库(1)

1、先在数据库中加入一天测试数据先
1346146-20180910150343118-484744492.png
2、在model的“views”中载入数据库和model的类

import pymysql
from .models import UserMessage

3、读取数据库中的数据

def getform(request):
    all_messages = UserMessage.objects.all()  # 读出全部数据
    for message in all_messages:  # Queryset类型的好处就是可以进行for循环
        print(message.name)
    return render(request, '留言板.html')

4、当然,我们也可以只取出某些数据

    all_messages = UserMessage.objects.filter(name='bobby', address='北京')

5、保存数据到数据库中

def getform(request):
    # all_messages = UserMessage.objects.filter(name='bobby', address='北京')
    # for message in all_messages:
    #     print(message.name)
    user_message = UserMessage()  # 创建对象
    user_message.name = "bobby2"
    user_message.message = "helloworld2"
    user_message.address = "上海"
    user_message.email = "2@2.com"
    user_message.object_id = "helloworld2"
    user_message.save()

    return render(request, '留言板.html')

5、run,刷新一下网页,Navicat查看一下数据库,没毛病
1346146-20180910151729862-1418945946.png


现在开始,进行HTML页面和数据库的连接。


6、进入“留言板.html”的form表单,修改action属性为“urls.py”中的指向
1346146-20180910153328343-258107560.png
1346146-20180910153738334-278292411.png
记得前后都得加个斜杠
7、注释掉第5点编写的代码后运行项目、刷新网页,竟然报了403错误,这是Django的一种安全机制(不允许任意form就可以把后台的东西提交)
1346146-20180910154412963-901220375.png
8、在“留言板.html”中form表单的最后写入{% csrf_token %}
1346146-20180910160025573-1042221999.png
9、断点和Debug之后,我们可以看到request对象中的值
1346146-20180910160348138-2107707917.png
其中的key值便是HTML页面中的name值
记得,name值很重要!!!!
1346146-20180910160715995-1151829660.png
10、开始从HTML中娶数据并保存到数据库

    if request.method == "POST":
        name = request.POST.get('name', '')  # 等号前面的变量名得和HTML中的name值一致
        message = request.POST.get('message', '')  # 不然娶不到
        address = request.POST.get('address', '')
        email = request.POST.get('email', '')
        user_message = UserMessage()  # 创建对象
        user_message.name = name
        user_message.message = message
        user_message.address = address
        user_message.email = email
        user_message.object_id = "helloworld3"
        user_message.save()

目前为止我们已经完成数据库的查和增,那删除呢?


11、删除的两种方法:
1346146-20180910163651068-464540126.png
  
未完待续~~~

转载于:https://www.cnblogs.com/WoLykos/p/9618128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值