自定义Django Form中choicefield下拉菜单选取数据库内容实例


Posted in Python onMarch 13, 2020

工作中遇到的问题,自定义了一个forms.form表单,某项需要作出下拉菜单,下拉菜单中的选项需要从数据库(objectForm models)中提取.

form.py为:

class objectForm(forms.Form):
pre = choicefield(lable = "工作")

最后的解决办法:

1.定义一个函数

def get_object(request):
  r = [('', '----')]
  for obj in objectModels.objects.all():
    r = r + [(obj.id, obj.name)]
  return r

2.在views.py的视图函数中加入

form.fields['pre'].choices = get_object(request)

收工!

百度了很多Django Form的问题都没有得到解决,写出来方便后来人。

补充知识:django form表单select下拉菜单数据源实时更新(每次访问获取一次数据库内容)

重点是: Form类对象实例化的时候,在类里边__init()__函数中加入重新更新select数据源

from django.shortcuts import render,redirect
from app3 import models
from app3 import form
from django import forms
from django.forms import widgets
 
#静态字段,value_list获取列表[()]加元组返回值
 
 
class Fromdb(forms.Form):
  purpose = forms.CharField()
  user = forms.IntegerField(
    widget=widgets.Select()
    )
  #保证每次访问重新获取最新数据
  def __init__(self,*args,**kwargs):
    super(Fromdb,self).__init__(*args,**kwargs)
    self.fields["user"].widget.choices=models.Stu.objects.values_list("id", "name")
 
def formdb(request):
  stus = Fromdb()
  return render(request,"formdb.html",{"stus":stus})

以上这篇自定义Django Form中choicefield下拉菜单选取数据库内容实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python random模块(获取随机数)常用方法和使用例子
May 13 Python
Python查看多台服务器进程的脚本分享
Jun 11 Python
Python multiprocessing模块中的Pipe管道使用实例
Apr 11 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
python3 线性回归验证方法
Jul 09 Python
python 字典访问的三种方法小结
Dec 05 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
Pycharm快捷键配置详细整理
Oct 13 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
pytorch交叉熵损失函数的weight参数的使用
May 24 Python
分享python函数常见关键字
Apr 26 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 #Python
python实现俄罗斯方块游戏(改进版)
Mar 13 #Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 #Python
Tensorflow中的dropout的使用方法
Mar 13 #Python
python实现简单俄罗斯方块
Mar 13 #Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 #Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 #Python
You might like
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
JQuery中each()的使用方法说明
2010/08/19 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
python登录豆瓣并发帖的方法
2015/07/08 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
最新计算机专业自荐信
2013/10/16 职场文书
后进生转化工作制度
2014/01/17 职场文书
趣味体育活动方案
2014/02/08 职场文书
开展读书活动总结
2014/06/30 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
检讨书怎么写
2015/01/23 职场文书
办公室文员岗位职责
2015/02/04 职场文书
招商银行工作证明
2015/06/17 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python