django处理select下拉表单实例(从model到前端到post到form)


Posted in Python onMarch 13, 2020

现在假如要写一个按照"标题",'内容','作者'等等进行针对性的选择,这时需要涉及到使用select下拉表单来进行选择.django是可以比较简单的解决这个问题的.

下面是model:

from django.db import models
 
class TestModel(models.Model):
  SELVALUE = (
    ('标题', 'first'), #前面是展示在前端界面的内容,后面的'first'是真正存在数据库中的
    ('内容', 'second'),
    ('作者', 'third'),
  )
  select_value = models.CharField(max_length=10, choices=SELVALUE)

接下来我们写forms:

from django import forms
 
class SelectTestForm(forms.Form):
  SELVALUE = (
    ('标题', 'first'),
    ('内容', 'second'),
    ('作者', 'third'),
  )
  sel_value = forms.CharField(max_length=10,widget=forms.widgets.Select(choices=SELVALUE))

然后就可以写view了:

from django.shortcuts import render
from django.views.generic import View
from .forms import SelectTestForm
 
class TestView(View):
  def get(self, request):
    select_form = SelectTestForm()
    return render(request, 'sel_test.html', { #这里'sel_test.html'使我们的前端页面
      'select_form': select_form, # 这里需要把form传到前端,前端就可以借助这个form填充界面
    })
 
  def post(self, request):
    select_form = SelectTestForm(request.POST)
    if select_form.is_valid():
      get_value = request.POST.get('sel_value', "") #这里可以取到下拉表单中的值
      #接下来就是保存数值与其他逻辑了
 
    else:
      #表单验证未通过的逻辑,多半要重新填写或直接给个404
      pass

这是前端界面'sel_test.html':

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<form method="post" action="">
  <select name="sel_value">
    {# 这里我们遍历form表单中的SELVALUE这个字典,然后把key,value成对取出 #}
    {% for key,value in select_form.SELVALUE %}
      <option value="{{ value }}">{{ key }}</option>
    {% endfor %}
  </select>
  <input type="submit" value="测试"/>
  {% csrf_token %}
</form>
</body>
</html>

补充知识:Django 表单,模型 结合前端select 显示

ModelChoiceField 使用方法

使用ModelChoiceField方法向前端提供模型

后端 forms.py

default_tester = forms.ModelChoiceField(
    label='测试人员', queryset=User.objects.all(), required=True
  )

前端代码

{% for user in form.default_tester.field.queryset %}
            <option value="{{ user.pk }}">
              {{ user }}
            </option>
          {% endfor %}

以上这篇django处理select下拉表单实例(从model到前端到post到form)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之编写类之一创建实例
Oct 11 Python
Python实现测试磁盘性能的方法
Mar 12 Python
Python工厂函数用法实例分析
May 14 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
Flask框架工厂函数用法实例分析
May 25 Python
python中的colorlog库使用详解
Jul 05 Python
django框架中间件原理与用法详解
Dec 10 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 Python
Python学习之time模块的基本使用
Jan 17 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 #Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 #Python
Tensorflow中的dropout的使用方法
Mar 13 #Python
python实现简单俄罗斯方块
Mar 13 #Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 #Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 #Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 #Python
You might like
PHP微信支付开发实例
2016/06/22 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
JS 有名函数表达式全面解析
2010/03/19 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
js使用心得分享
2015/01/13 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
如何一键升级Python所有包
2020/11/05 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
深圳茁壮笔试题
2015/05/28 面试题
婚礼新郎父母答谢词
2014/01/16 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
写给医生的感谢信
2015/01/22 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript
nginx配置指令之server_name的具体使用
2022/08/14 Servers