自定义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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
详解Python用户登录接口的方法
Apr 17 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
python手写均值滤波
Feb 19 Python
Python定义函数实现累计求和操作
May 03 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
vuejs指令详解
2017/02/07 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python 多线程的实例详解
2017/09/07 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
python 标准差计算的实现(std)
2019/07/29 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
Python函数参数分类原理详解
2020/05/28 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
汉语专业毕业生自荐信
2014/07/06 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
旷课检讨书500字
2014/10/14 职场文书
公司表扬信格式
2015/05/04 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS