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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
使用python分析git log日志示例
Feb 27 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
Python对数据库操作
Mar 28 Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
详解用python生成随机数的几种方法
Aug 04 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
python模拟实现分发扑克牌
Apr 22 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
Nov 09 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
是否存在第一台收音机的说法
2021/03/01 无线电
信用卡效验程序
2006/10/09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python中IPYTHON入门实例
2015/05/11 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
如何删除一个表里面的重复行
2013/07/13 面试题
几个MySql的面试题
2013/04/22 面试题
初三家长会邀请函
2014/01/18 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
社区反邪教工作方案
2014/06/16 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
复试通知单模板
2015/04/24 职场文书
2016年员工年度考核评语
2015/12/02 职场文书