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列表去重的二种方法
Feb 14 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
给你选择Python语言实现机器学习算法的三大理由
Nov 15 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
numpy.linalg.eig() 计算矩阵特征向量方式
Nov 29 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
django API 中接口的互相调用实例
Apr 01 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 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中动态HTML的输出技术
2006/10/09 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
javaScript复制功能调用实现方案
2012/12/13 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
Python魔术方法详解
2015/02/14 Python
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
基于Django实现日志记录报错信息
2019/12/17 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
创业计划书六个要素
2013/12/26 职场文书
劳资专员岗位职责
2013/12/27 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
房产公证书格式
2015/01/26 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
自信主题班会
2015/08/14 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis