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 相关文章推荐
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python的IDEL增加清屏功能实例
Jun 19 Python
Python中int()函数的用法浅析
Oct 17 Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
Pytorch之保存读取模型实例
Dec 30 Python
python实现录屏功能(亲测好用)
Mar 02 Python
jupyter note 实现将数据保存为word
Apr 14 Python
Django框架获取form表单数据方式总结
Apr 22 Python
python实现手机推送 代码也就10行左右
Apr 12 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后门
2015/09/13 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
python实现手势识别的示例(入门)
2020/04/15 Python
企划专员岗位职责
2013/12/09 职场文书
社区工作者感言
2014/03/02 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技