自定义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 socket 超时设置 errno 10054
Jul 01 Python
详解Python中用于计算指数的exp()方法
May 14 Python
使用Python3制作TCP端口扫描器
Apr 17 Python
Python使用requests发送POST请求实例代码
Jan 25 Python
Pytorch入门之mnist分类实例
Apr 14 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
pycharm运行出现ImportError:No module named的解决方法
Oct 13 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
python3.7简单的爬虫实例详解
Jul 08 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
python os.listdir()乱码解决方案
Jan 31 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
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
javascript开发中因空格引发的错误
2010/11/08 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
常用的javascript设计模式
2017/01/11 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
Python3实现的简单验证码识别功能示例
2018/05/02 Python
Python测试模块doctest使用解析
2019/08/10 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
Python 中Operator模块的使用
2021/01/30 Python
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
汽车驾驶求职信
2013/10/25 职场文书
老公爱的承诺书
2014/03/31 职场文书
环保倡议书500字
2014/05/15 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
妇联主席先进事迹
2014/05/18 职场文书
企业活动策划方案
2014/06/02 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
无保留意见审计报告
2015/06/05 职场文书
投诉信格式范文
2015/07/02 职场文书
施工现场安全管理制度
2015/08/05 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python