Django choices下拉列表绑定实例


Posted in Python onMarch 13, 2020

Models内容

from django.db import models
from django import forms
# Create your models here.

class SysConfigForm(forms.Form):
  DatabaseType = forms.ChoiceField(choices=[('sqlserver', 'SQLServer'), ('oracle', 'Oracle')])


class UserInfo(forms.Form):
  vip_type = ((0, u'普通用户'),(1, u'高级用户'),)
  vip = forms.CharField(widget=forms.widgets.Select(choices=vip_type,attrs={'class':'form-control','with':'25px'}), )

class Months(forms.Form):
  list = ((1,u'一月'),(2,u'二月'),(3,u'三月'),(4,u'四月'),(5,u'五月'),(6,u'六月'),
      (7, u'七月'),(8,u'八月'),(9,u'九月'),(10,u'十月'),(11,u'十一月'),(12,u'十二月'),)
  obj_month = forms.CharField(widget=forms.widgets.Select(choices=list, attrs={'class': 'form-control'}), )


class UserUsesSourceForm(forms.Form):
  # some fields here
  SOURCES_CHOICES = (
    ('A', 'A'),
    ('E', 'E'),
  )
  username = forms.CharField(label=("Username"), max_length=30, help_text = ("Required"))
  provider = forms.ChoiceField(widget=forms.Select(), choices=SOURCES_CHOICES, initial=SOURCES_CHOICES[1])

Views内容

from django.shortcuts import render,HttpResponse
from polls import models
from django.template.loader import get_template

# Create your views here.


def  index(request):
  obj = models.UserInfo()
  if request.method == 'POST':
    user_obj = models.UserInfo(request.POST)
    if user_obj.is_valid():
      print(user_obj.clean())
    else:
      user_error = user_obj.errors
      print (user_error)
      return render(request,'index.html',{'obj':obj,'user_error':user_error})

  months = models.Months()

  return render(request,'index.html',{'obj':obj,'months':months})


#获取下拉列表选中记录
def Test01(request):
  template = get_template('test01.html')
  form = models.UserUsesSourceForm(initial={"username": request.user.username, 'provider': models.UserUsesSourceForm.SOURCES_CHOICES[1]})
  #return render_to_response('update_datasource.html', context_instance=RequestContext(request, params))

  html = template.render(locals())
  return HttpResponse(html)

Test页面内容

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<form action="" method="post">
  {% csrf_token %}
  {% if form.non_field_errors %}
  <p>
    {% for error in form.non_field_errors %}
      <div class="text-error">{{ error|escape }}</div>
    {% endfor %}
  </p>
  {% endif %}
  <div class="control-group">

    <label class="control-label" for="id_provider">Data source</label>
    <div class="controls">
      {{form.provider}}
    </div>
        </div>
</form>
</body>
</html>

显示结果为

Django choices下拉列表绑定实例

补充知识:django前端页面下拉选择框默认值设置

1,前端样式

Django choices下拉列表绑定实例

2,前端html代码

<select name="row.status">
  <option value="ON" {% if row.status == 'ON' %} selected="selected" {% endif %}>ON</option>
  <option value="OFF" {% if row.status == 'OFF' %} selected="selected" {% endif %}>OFF</option>
</select>

以上这篇Django choices下拉列表绑定实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python生成随机MAC地址
Mar 10 Python
教你用Type Hint提高Python程序开发效率
Aug 08 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
python操作excel的方法
Aug 16 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
在vscode中配置python环境过程解析
Sep 28 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 Python
pytorch通过训练结果的复现设置随机种子
Jun 01 Python
django model object序列化实例
Mar 13 #Python
浅析python标准库中的glob
Mar 13 #Python
Python3标准库glob文件名模式匹配的问题
Mar 13 #Python
python编写俄罗斯方块
Mar 13 #Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 #Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
Mar 13 #Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 #Python
You might like
消息持续发送的完整例子
2006/10/09 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
JS backgroundImage控制
2009/05/19 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
Vue.2.0.5过渡效果使用技巧
2017/03/16 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python的设计模式编程入门指南
2015/04/02 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
Python异常处理操作实例详解
2018/05/10 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
python中的时区问题
2021/01/14 Python
新西兰优惠网站:Treat Me
2019/07/04 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
教师师德承诺书
2014/03/26 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
酒店端午节活动方案
2014/08/26 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python