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 添加用户设置密码并发邮件给root用户
Jul 25 Python
回调函数的意义以及python实现实例
Jun 20 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 Python
Django中ORM外键和表的关系详解
May 20 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
Python 获取项目根路径的代码
Sep 27 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
python 视频下载神器(you-get)的具体使用
Jan 06 Python
Python面试不修改数组找出重复的数字
May 20 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错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
layui table 参数设置方法
2018/08/14 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
django主动抛出403异常的方法详解
2019/01/04 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
智能电子应届生求职信
2013/11/10 职场文书
运动会邀请函范文
2014/02/06 职场文书
集体婚礼策划方案
2014/02/22 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS