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 web程序
Sep 11 Python
python 文件操作api(文件操作函数)
Aug 28 Python
使用python3+xlrd解析Excel的实例
May 04 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
numpy matrix和array的乘和加实例
Jun 28 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
python实现狄克斯特拉算法
Jan 17 Python
用pyqt5 给按钮设置图标和css样式的方法
Jun 24 Python
ipad上运行python的方法步骤
Oct 12 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
Python使用文件操作实现一个XX信息管理系统的示例
Jul 02 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
VFP与其他应用程序的集成
2006/10/09 PHP
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
Mysql的常用命令
2006/10/09 PHP
php实现的漂亮分页方法
2014/04/17 PHP
Javascript中的delete介绍
2012/09/02 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
python多线程用法实例详解
2015/01/15 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
python求解水仙花数的方法
2015/05/11 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
python散点图实例之随机漫步
2018/08/27 Python
python 拼接文件路径的方法
2018/10/23 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
python实现最短路径的实例方法
2020/07/19 Python
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
大学生实习感言
2014/01/16 职场文书
班主任新年寄语
2014/04/04 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers