自定义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函数式编程学习之yield表达式形式详解
Mar 25 Python
Python获取二维矩阵每列最大值的方法
Apr 03 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
Python实现简单的用户交互方法详解
Sep 25 Python
Python中最大递归深度值的探讨
Mar 05 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
在Python 的线程中运行协程的方法
Feb 24 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
Python装饰器的应用场景代码总结
Apr 10 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
深入了解Python enumerate和zip
Jul 16 Python
Python中Yield的基本用法
Oct 18 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
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
node.js遍历目录的方法示例
2018/08/01 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
如何写一封打动人心的求职信
2014/02/17 职场文书
学习交流会主持词
2014/04/01 职场文书
2014年创卫工作总结
2014/11/24 职场文书
史上最牛的辞职信
2015/02/28 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python