自定义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的Django框架中显示对象子集的方法
Jul 21 Python
python生成式的send()方法(详解)
May 08 Python
详解如何使用Python编写vim插件
Nov 28 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
对python中矩阵相加函数sum()的使用详解
Jan 28 Python
谈一谈基于python的面向对象编程基础
May 21 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
python实现翻转棋游戏(othello)
Jul 29 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
python 穷举指定长度的密码例子
Apr 02 Python
Python爬虫之Selenium库的使用方法
Jan 03 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
JAVA/JSP学习系列之二
2006/10/09 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
php如何获取Http请求
2020/04/30 PHP
用js编写的简单的计算器代码程序
2015/08/04 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
Javascript的this用法
2017/01/16 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
一行python实现树形结构的方法
2019/08/09 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
Python如何对XML 解析
2020/06/28 Python
德国购买健身器材:AsVIVA
2017/08/09 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
求职推荐信范文
2013/12/01 职场文书
水利学院求职自荐书
2014/02/01 职场文书
通信工程专业求职信
2014/06/04 职场文书
员工工作能力评语
2014/12/31 职场文书
财产保全担保书
2015/01/20 职场文书
2015双创工作总结
2015/07/24 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
Python必备技巧之函数的使用详解
2022/04/04 Python
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang
CSS实现背景图片全屏铺满自适应的3种方式
2022/07/07 HTML / CSS