Django Form 实时从数据库中获取数据的操作方法

Django Form 实时从数据库中获取数据 ,具体内容如下所示:

修改 models.py 添加

class UserType(models.Model):
  caption = models.CharField(max_length=32)

执行命令,生成数据库

python manage.py makemigrations
python manage.py migrate

修改 forms.py 添加

from app01 import models
class DBForm(DForms.Form):
  host = fields.CharField()
  host_type = fields.IntegerField(
    widget=widgets.Select(choices=[])
  )
  def __init__(self, *args, **kwargs):
    super(DBForm, self).__init__(*args, **kwargs)
    self.fields['host_type'].widget.choices = models.UserType.objects.all().values_list('id', 'caption') # 自定义构造方法,实时从数据库中获取数据

PS:Django从表单中获取数据

提交了表单后,我们需要从获取表单中的数据

#views.py
def index(request):
  if request.method == "GET":
    nameform = NameModelForm()
    return render(request, "form/index.html",locals())
  if request.method == "POST":
    nameform = NameModelForm(request.POST)
    if nameform.is_valid():
      firstname = nameform.cleaned_data["firstname"]
      secondname = nameform.cleaned_data["secondname"]
      a = Name(firstname = firstname,secondname = secondname)
      a.save()
      print(firstname+secondname)
      return HttpResponse("提交成功")
    else:
      error_msg = nameform.errors.as_json()
      print(error_msg)
      return HttpResponse(error_msg)

首先引入了自定义的表单类

如果request.method == “GET”

然后实例化表单类,render返回

如果request.method == “POST”

就先实例化接受了POST消息的表单类

如果表单类的数据是可获取的

我们使用一个变量接收nameform.cleaned.cleaned_data[“firstname”],就是从表单的firstname字段获取的信息。然后提交给数据库。这样就完成了一次提交记录表单的操作。

总结

以上所述是小编给大家介绍的Django Form 实时从数据库中获取数据的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 在Django的form中使用CSS进行设计的方法

    修改form的显示的最快捷的方式是使用CSS. 尤其是错误列表,可以增强视觉效果.自动生成的错误列表精确的使用`` <ul class="errorlist">``,这样,我们就可以针对它们使用CSS. 下面的CSS让错误更加醒目了: <style type="text/css"> ul.errorlist { margin: 0; padding: 0; } .errorlist li { background-color: red; co

  • Python的Django框架中forms表单类的使用方法详解

    Form表单的功能 自动生成HTML表单元素 检查表单数据的合法性 如果验证错误,重新显示表单(数据不会重置) 数据类型转换(字符类型的数据转换成相应的Python类型) Form相关的对象包括 Widget:用来渲染成HTML元素的工具,如:forms.Textarea对应HTML中的<textarea>标签 Field:Form对象中的一个字段,如:EmailField表示email字段,如果这个字段不是有效的email格式,就会产生错误. Form:一系列Field对象的集合,负责验证和

  • 详解Django中的form库的使用

    Django带有一个form库,称为django.forms,这个库可以处理我们本章所提到的包括HTML表单显示以及验证. 接下来我们来深入了解一下form库,并使用她来重写contact表单应用. Django的newforms库 在Django社区上会经常看到django.newforms这个词语.当人们讨论django.newforms,其实就是我们本章里面介绍的django.forms. 改名其实有历史原因的. 当Django一次向公众发行时,它有一个复杂难懂的表单系统:django.f

  • Python Django使用forms来实现评论功能

    貌似Django从版本1.6开始就放弃了对自带的comments的使用,具体原因未查,但是现在使用Django的内部的模块也可以实现评论功能,那就是借助于forms模块,下面是我的一个小例子. 环境准备  •操作系统 : windows 7 64 位旗舰版  •IDE: PyCharm 2016.1  •Python :2.7.11  •Django :1.9.6 设计 所谓设计,就是指我们将要实现的评论功能将要涉及的底层模型.我这里简单的设计如下,大家按照自己的想法,可以随意的设置,我这里的设

  • 在Django的视图中使用form对象的方法

    在学习了关于Form类的基本知识后,你会看到我们如何把它用到视图中,取代contact()代码中不整齐的部分. 一下示例说明了我们如何用forms框架重写contact(): # views.py from django.shortcuts import render_to_response from mysite.contact.forms import ContactForm def contact(request): if request.method == 'POST': form =

  • Python中使用django form表单验证的方法

    一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Form</title> </head> <body> <div> <for

  • 使用Django Form解决表单数据无法动态刷新的两种方法

    一.无法动态更新数据的实例 1. 如下,数据库中创建了班级表和教师表,两张表的对应关系为"多对多" from django.db import models class Classes(models.Model): title = models.CharField(max_length=32) class Teacher(models.Model): name = models.CharField(max_length=32) t2c = models.ManyToManyField(

  • Django Form 实时从数据库中获取数据的操作方法

    Django Form 实时从数据库中获取数据 ,具体内容如下所示: 修改 models.py 添加 class UserType(models.Model): caption = models.CharField(max_length=32) 执行命令,生成数据库 python manage.py makemigrations python manage.py migrate 修改 forms.py 添加 from app01 import models class DBForm(DForms

  • php从数据库中获取数据用ajax传送到前台的方法

    1.数据库的字段: 2.php连接数据库获取数据库的信息放入json_encode($css);{文件为:db.php} <span style="font-size:14px;"><?php $host="localhost"; $username="root"; $password="root"; $dbName="baixing"; $port=3306; $conn=new mys

  • Mybatis如何从数据库中获取数据存为List类型(存为model)

    目录 从数据库中获取数据存为List类型(存为model) Mybatis存储List类型数据 从数据库中获取数据存为List类型(存为model) 从数据库中获取的数据,存到一个model中,需要注意两点. 一.在dao中,只能用List类型接受结果 二.要在mapper中写清楚resultType //DAO @Override public ArrayList<YourModel> getMainInfo(int id) { // TODO Auto-generated method s

  • Oracle存储过程之数据库中获取数据实例

    怎样才能将在表A取得的数据插入另一个表B中? (1)对于表A和表B两个表结构完全相同的话[字段个数,相应字段的类型等等],可以使用 insert INTO B select * FROM A; insert INTO B(field1,field2,field3) select A.field1,A.field2,A.field3 from A; (2) 对于两个表如果字段数不一样,但是有几个字段的结构一样时[类似于父子关系],必须使用 insert INTO B(field1,field2)

  • Django实现从数据库中获取到的数据转换为dict

    这种方式只能应用于从数据库中获取到的单条数据,例如models.Users.objects.get()获取到的数据 from django.forms.models import model_to_dict class Index(VIew): def get(self, request): userObj = models.Users.objects.get(id = 1) userDict = model_to_dict(userObj) print(userDict) return Htt

  • Django中从mysql数据库中获取数据传到echarts方式

    尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; (3)在函数f中获取参数,此时是string类型,需要将其转换为json对象,使用eval即可: (4)json对象的每一个元素均为string(可以使用typeof()判断),需要取出每一个成员将其转换为json对象: (5)在echarts模块函数中调用函数f,获取所需的数据 补充知识:djang

  • ajax动态获取数据库中的数据方法

    今天看到有人在问答上问怎样去动态取值附在option上,本来想解决的,但我发现....没有,我本来也笨,记不住,所以还是写一下,让大家可以看一下: 首先我这用的框架是SSM,代码就开始了: 这是写在前台的方法里一个点击事件进入方法里我就不写那么麻烦了直接ajax部分代码: $.ajax({//这就开始进入ajax了 type:"get",//这个我也忘了,好像是类似格式吧,基本是死的不需要改动 dataType:"json",//这个是将字符串转换成json格式 c

  • 如何在Java程序中访问mysql数据库中的数据并进行简单的操作

    在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据并进行简单的操作,具体详情请看下文. 创建一个javaProject,并输入如下java代码: package link; import java.sql.*; /** * 使用JDBC连接数据库MySQL的过程 * DataBase:fuck, table:person: * 使用myeclipse对mysql数据库进行增删改查的基本操作. */ public

  • smarty模板引擎从php中获取数据的方法

    本文实例讲述了smarty模板引擎从php中获取数据的方法.分享给大家供大家参考.具体如下: smarty可以分配($smarty->assign)的变量类型:所有php支持的数据类型--基本数据类型.复合数据类型.特殊数据类型(具体见smarty相关手册). 操作/显示文件:index.php 复制代码 代码如下: <?php //创建smarty对象 require_once("./libs/Smarty.class.php"); $smarty = new Smart

  • 使用JDBC从数据库中查询数据的方法

    * ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回的实际上就是一张数据表,有一个指针指向数据表的第一行的前面, * 可以调用next()方法检测下一行是否有效,若有效,返回true,且指针下移, * 相当于iterator 对象的 hasNext() 和 next()方法的结合体 * 3. 当指针定位到一行时,可以通过调用getXxx(index)

随机推荐