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

 更新时间:2020年03月13日 08:54:43   作者:呆萌的代Ma  
这篇文章主要介绍了django处理select下拉表单实例(从model到前端到post到form),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

现在假如要写一个按照"标题",'内容','作者'等等进行针对性的选择,这时需要涉及到使用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验证码识别的实例详解

    现在的网站为了防止机器人提交表单,图片验证码是很常见的应对手段之一。这里就不详细介绍了,相信大家都遇到过。现在这篇文章就给出用Python识别验证码的详细示例代码,文中介绍的很详细,有需要的可以参考借鉴。
    2016-09-09
  • Tensorflow的梯度异步更新示例

    Tensorflow的梯度异步更新示例

    今天小编就为大家分享一篇Tensorflow的梯度异步更新示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python-with open() as f的用法及说明

    Python-with open() as f的用法及说明

    这篇文章主要介绍了Python-with open() as f的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Tensorflow实现部分参数梯度更新操作

    Tensorflow实现部分参数梯度更新操作

    今天小编就为大家分享一篇Tensorflow实现部分参数梯度更新操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 关于Python字符串显示u...的解决方式

    关于Python字符串显示u...的解决方式

    这篇文章主要介绍了关于Python字符串显示u...的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • pytorch中交叉熵损失函数的使用小细节

    pytorch中交叉熵损失函数的使用小细节

    这篇文章主要介绍了pytorch中交叉熵损失函数的使用细节,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 利用Python绘制创意中秋节月饼

    利用Python绘制创意中秋节月饼

    又是一年中秋至——花好月圆夜。turtle库作为Python重要的标准库之一,是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。本文将使用turtle(海龟)来绘制中秋创意月饼,感兴趣的可以了解一下
    2022-09-09
  • Python实现同时调用多个GPT的API

    Python实现同时调用多个GPT的API

    这篇文章主要为大家详细介绍了Python如何实现同时调用多个GPT的API,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-09-09
  • Tensorflow 实现将图像与标签数据转化为tfRecord文件

    Tensorflow 实现将图像与标签数据转化为tfRecord文件

    今天小编就为大家分享一篇Tensorflow 实现将图像与标签数据转化为tfRecord文件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • PyQt5 QLineEdit输入的子网字符串校验QRegExp实现

    PyQt5 QLineEdit输入的子网字符串校验QRegExp实现

    这篇文章主要介绍了PyQt5 QLineEdit输入的子网字符串校验QRegExp实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论