自定义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练习程序批量修改文件名
Jan 16 Python
Python制作CSDN免积分下载器
Mar 10 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
python的re正则表达式实例代码
Jan 24 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Python构建图像分类识别器的方法
Jan 12 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
python数据类型可变不可变知识点总结
Mar 06 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 Python
对PyTorch中inplace字段的全面理解
May 22 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 in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
Angular实现form自动布局
2016/01/28 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
angular4自定义组件详解
2017/09/28 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
python模拟鼠标拖动操作的方法
2015/03/11 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python 多进程和数据传递的理解
2017/10/09 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
Python configparser模块常用方法解析
2020/05/22 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
python 实现控制鼠标键盘
2020/11/27 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
2013英文求职信模板范文
2013/11/15 职场文书
销售简历自我评价
2014/01/24 职场文书
社区三八妇女节活动总结
2015/02/06 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
工作表现证明
2015/06/15 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书