自定义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中常用检测字符串相关函数汇总
Apr 15 Python
python实现下载整个ftp目录的方法
Jan 17 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
Python解析并读取PDF文件内容的方法
May 08 Python
python随机数分布random测试
Aug 27 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
Python基础学习之奇异的GUI对话框
May 27 Python
详解Python中*args和**kwargs的使用
Apr 07 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同时支持GIF、png、JPEG
2006/10/09 PHP
简单的PHP缓存设计实现代码
2011/09/30 PHP
php从字符串创建函数的方法
2015/03/16 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
再论Javascript的类继承
2011/03/05 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Django中的Model操作表的实现
2018/07/24 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
德国帽子专家:Hutshopping
2019/11/03 全球购物
父母对孩子说的话
2014/04/12 职场文书
事业单位聘任报告
2015/03/02 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers