zoukankan      html  css  js  c++  java
  • 留言板0.4_model中的数据库(1)

    1、先在数据库中加入一天测试数据先

    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查看一下数据库,没毛病


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


    6、进入“留言板.html”的form表单,修改action属性为“urls.py”中的指向


    记得前后都得加个斜杠
    7、注释掉第5点编写的代码后运行项目、刷新网页,竟然报了403错误,这是Django的一种安全机制(不允许任意form就可以把后台的东西提交)

    8、在“留言板.html”中form表单的最后写入{% csrf_token %}

    9、断点和Debug之后,我们可以看到request对象中的值

    其中的key值便是HTML页面中的name值
    记得,name值很重要!!!!

    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、删除的两种方法:

      
    未完待续~~~

    一个佛系的博客更新者,随手写写,看心情吧 (っ•̀ω•́)っ✎⁾⁾
  • 相关阅读:
    python 元组列表合并
    python 将元组解析为多个参数
    python 元组切片
    python 元组元素反转
    python 删除元组元素
    Ubuntu 16.04 kinetic 编译指定包
    ubuntu16.04 kinetic 安装 robot-pose-publisher
    ubuntu 16.04 kinetic 安装rosbridge
    sudo: unable to resolve host myhostname: Connection timed out
    python 元组元素计数
  • 原文地址:https://www.cnblogs.com/WoLykos/p/9618128.html
Copyright © 2011-2022 走看看