首页>>后端>>Python->django怎么获取下拉选择框的值(django下拉菜单)

django怎么获取下拉选择框的值(django下拉菜单)

时间:2023-12-06 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于django怎么获取下拉选择框的值的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

django 获取表单页面复选框的值 报错

class AddBookForm(forms.Form):

    def __init__(self,*args,**kwargs):

        ...

        self.fields['authors'].choices = [(author.id,author.first_name + " " + author.last_name) for author in Author.objects.all()]

        self.fields['publisher'].choices = [('','-----------')] + [(publisher.id,publisher.name) for publisher in Publisher.objects.all()]

        ...

form里这两行有问题,这行如果你想重新赋值的话应该给一个queryset,而不是列表。如果你想测试一下的话可以先把这行注释掉,然后你在提交看看表单验证是否能通过。如果通过了那确定问题就是这里了。我想我应该不会错。。。

你好,请问你知道如何利用django from去生成一个树形下拉框?

谢邀请

1。在form类里建字段category

2。在__init__里获取所有choice=cc

3。对cc进行树状排序,递归,深度优先搜索,得到bb

4。choices属性赋值

应该还有其他做法,sort_dfs自己试试实现吧

class xxx(forms.Form):

    category = forms.ChoiceField(label=u'选择分类',required=False)

    def __init__(self, request, *args, **kwargs):

        super(xxx, self).__init__(*args, **kwargs)

        cc=Category.objects.all()

        bb=sort_dfs(cc)

        self.fields['category'].choices = bb

如何利用Django的Form类动态生成下拉列表

有两种方法。

一、自己手动写 html 模板中的 form ... /form 

在views 中,将所需要的数据传递过去,比如 names_list = [1, 2, 3, 4]

在 html 中

select

  {% for x in name_list %}

      option value ="{{ x }}"{{ x }}/option

  {% endfor %}

/select

二、使用 Form 自动生成表单

这就需要在 views 中 动态初始化表单

具体的内容自己查 相应版本的 django文档去

内容在“Forms”中。

最后给你个建议吧。好好看文档去,在这提问等答案的功夫,不知能看多少文档。

学习从来都是自己的事情,多看多读多思考,实在不会再去问。

django python开发中表单其中一项设置动态下拉菜单,如何让下拉...

django python开发中表单其中一项设置动态下拉菜单,其中下拉菜单的选项是从接口获取的对象集合:

代码如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import os, sys

from django.shortcuts import render

from django.shortcuts import render_to_response

from django.http import HttpResponse,HttpResponseRedirect

import requests

from django import forms

from blog.models import Info

attrs_dict={'class':'required'}

class InfoForm(forms.Form):

def _init_(self,*args,**kwargs):

r=requests.get('...',**kwargs)

print r

super(InfoForm,self)._init_(*args,**kwargs)

self.fields['product'].choices=[('','-------------')]+[(info.id,info.name) for info in r]

product = forms.ChoiceField(label="产品名称",choices=(),widget=forms.Select(attrs=attrs_dict))

Django-select下拉菜单的显示与保存

Django-select下拉菜单的显示与保存:

说明: 这里不用多解释,就是普通定义emp表和dept表,注意emp的dept部门字段使用的ForeignKey多对一关系,去关联dept表的主键(dept没有重新定义主键,则是默认的主键id)

说明: 这里的例子是保存时候的操作,既要展示不同部门的下拉菜单,又要能够保存成功。需要注意以下地方:

1.要重新定义get,实现当加载网页的时候能够展示已保存的部门信息,所以有个 deptlist = dept.objects.all() ,在html中要使用deptlist取部门表中的值。

2.当使用POST要保存的时候还是按照正常逻辑,先从html取对应的值,然后新建一个emp()对象,给对应字段赋值后保存。

3.保存部门的时候,对于外键,emp表是主动增加了一个叫做emp_id的字段,所以要使用 emp.dept_id = dept ,将获取到的dept(id)传给emp的dept_id字段。

说明: 下拉单选菜单使用 select,option ,使用for循环从deptlist中取部门的值展示出来。所以是 {% for i in deptlist.values %} ,注意显示的字段使用deptname,对应value使用id来用来存储在数据表中。

django将从数据库获取的值作为下拉选择框(Choice_field)的默认值

首先,在django 视图函数中,传递 obj_list = [1, 2, 3] 类似这样的一个列表。

def show_data(request):

    obj_list = [1, 2, 3] 

    pass

    return render_to_response('index.html', {'obj_list': obj_list})

然后在 index.html 模板文件中,部分代码如下

select

    {% for obj in obj_list %}          

        option value ="{{ forloop.counter }}"{{ obj }}/option

    {% endfor %}

/select

这样,模板就能自动根据传递过来的数据,进行显示。

这样说的已经很详细了,如果还是不懂。自己去django官网看相应版本的文档去吧。

结语:以上就是首席CTO笔记为大家介绍的关于django怎么获取下拉选择框的值的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/15722.html