自定义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中itertools模块用法详解
Sep 25 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
浅析Python函数式编程
Oct 06 Python
python学习开发mock接口
Apr 28 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
django项目登录中使用图片验证码的实现方法
Aug 15 Python
postman传递当前时间戳实例详解
Sep 14 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
浅谈Django前端后端值传递问题
Jul 15 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 防恶意刷新实现代码
2010/05/16 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
Javascript之高级数组API的使用实例
2019/03/08 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
Python的Django框架中if标签的相关使用
2015/07/15 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
对python中return和print的一些理解
2017/08/18 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
python tkinter实现连连看游戏
2020/11/16 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
个人能力自我鉴赏
2014/01/25 职场文书
霸王洗发水广告词
2014/03/14 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
2014企业年终工作总结
2014/12/23 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers