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



  

未完待续~~~

留言板0.4_model中的数据库(1)的更多相关文章

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

    今天就讲讲:如何将后台数据呈现在HTML页面中,以及url配置时的两点技巧吧. 1.首先在"views.py"中提取出后台数据 def getform(request): mess ...

  2. 个人网页的留言板实现与sae的数据库账户配置

    个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...

  3. 留言板0.3_models设计

    1.编写"message.models": class UserMessage(models.Model): name = models.CharField(max_length= ...

  4. 【weiphp微信开发教程】留言板插件开发详解

    基于weiphp框架的留言板插件教程: 1.功能分析 传统的留言板应该具有发布留言.查看留言.回复留言.管理留言等功能,本教程开发的是最基本的留言板,仅包含发布留言和查看留言两个功能,根据功能用boo ...

  5. JavaScript学习笔记(三)——留言板知操纵DOM节点

    用JavaScript写了一个简易的留言板,暂不涉及数据库接入等. 1.功能以及流程 主要功能即为留言,用两个文本框接受用户输入的用户名以及留言内容,然后通过"提交留言"按钮将用户 ...

  6. 邓_phpcms_二次开发_留言板

    ================================================================= •在 phpcms/modules 目录下创建文件夹,并将其命名为g ...

  7. Android中当数据库需要更新时我们该怎么办?

    问题:Android数据库更新并保留原来的数据如何实现 Andoird的SQLiteOpenHelper类中有一个onUpgrade方法.帮助文档中只是说当数据库升级时该方法被触发.经过实践,解决了我 ...

  8. nodejs中利用expresss脚手架和bootstrap,数据库mongodb搭建的留言板案例

    ## 1. 先打开编辑器,创建一个项目 ## 2. 再打开cmd命令提示符下载express脚手架 express   项目名   --view=ejs 或express   -e    项目名 ## ...

  9. Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql

    在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...

随机推荐

  1. tensorflow进阶篇-4(损失函数3)

    Softmax交叉熵损失函数(Softmax cross-entropy loss)是作用于非归一化的输出结果只针对单个目标分类的计算损失.通过softmax函数将输出结果转化成概率分布,然后计算真值 ...

  2. TDD并不是看上去的那么美

    原文:http://coolshell.cn/articles/3649.html 春节前的一篇那些炒作过度的技术和概念中对敏捷和中国ThoughtWorks的微辞引发了很多争议,也惊动了中国Thou ...

  3. 高可用的MongoDB集群-实战篇

    1.概述 最近有同学和网友私信我,问我MongoDB方面的问题:这里我整理一篇博客来赘述下MongoDB供大家学习参考,博客的目录内容如下: 基本操作 CRUD MapReduce 本篇文章是基于Mo ...

  4. Redis发布订阅机制

    1. 什么是Redis Redis是一个开源的内存数据库,它以键值对的形式存储数据.由于数据存储在内存中,因此Redis的速度很快,但是每次重启Redis服务时,其中的数据也会丢失,因此,Redis也 ...

  5. ActiveMQ与Spring整合-MessageListener

    消费者,使用监听的实现方式. 1. pom.xml 2. 生产者 package org.ygy.mq.lesson04; import javax.jms.JMSException; import  ...

  6. 记一次Java AES 加解密 对应C# AES加解密 的一波三折

    最近在跟三方对接 对方采用AES加解密 作为一个资深neter Ctrl CV 是我最大的优点 所以我义正言辞的问他们要了demo java demo代码: public class EncryptD ...

  7. Hibernate高效查询,只查询部分/指定字段

    公司使用 DetachedCriteria detachedCriteria = DetachedCriteria.forClass(PeBulletin.class); detachedCriter ...

  8. jsp、css中引入外部资源相对路径的问题

    在jsp页面中添加base,可用相对路径: <% String path = request.getContextPath(); String basePath = request.getSch ...

  9. Java基本数据类型总结(转载)

    Java基本数据类型总结 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量 ...

  10. elasticsearch6.7 04.API规范

    API Conventions elasticsearch的REST的API是使用HTTP的JSON格式暴露的. 除非另有说明,本章中列出的约定可以在整个REST API中应用. 多索引 索引名称支持 ...