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 yield 小结和实例
Apr 25 Python
部署Python的框架下的web app的详细教程
Apr 30 Python
Python实用日期时间处理方法汇总
May 09 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
python实现文法左递归的消除方法
May 22 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
Python爬虫中Selenium实现文件上传
Dec 04 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
PHP数组交集的优化代码分析
2011/03/06 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python实现巡检系统(solaris)示例
2014/04/02 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
python os模块在系统管理中的应用
2020/06/22 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
使用Python实现音频双通道分离
2020/12/25 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
检察官就职演讲稿
2014/01/13 职场文书
水果超市创业计划书
2014/01/27 职场文书
社区矫正工作方案
2014/06/04 职场文书
php实例化对象的实例方法
2021/11/17 PHP