今天给各位分享django怎么在后端获取下拉框的值的知识,其中也会对django返回html页面进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、django将从数据库获取的值作为下拉选择框(Choice_field)的默认值2、求助,django上checkbox选中的转成列表发送到后台怎么做3、如何在Django Admin后台添加一个省市二级联动下拉列表4、django 获取表单页面复选框的值 报错5、django 获取 POST 请求值的几种方法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官网看相应版本的文档去吧。
求助,django上checkbox选中的转成列表发送到后台怎么做checkbox 的name设置成一样的。
后台获取的时候直接:request.REQUEST.getlist('name') 就可以了
如何在Django Admin后台添加一个省市二级联动下拉列表
得确是可以,不过过程有点多, 以下代码仅供参考,请自行调整
1. 定义数据来源, 这里简单的定义一下,如 settings.py
LOCATION = {"浙江": ["杭州", "宁波"], "湖北": ["武汉"]}
2. models.py
COUNTRY = [(key, key) for key in sorted(settings.LOCATION.keys())]
class Company(models.Model):
country = models.CharField(max_length=50, null=True, blank=True, verbose_name=_("Country"), choices=COUNTRY)
state = models.CharField(max_length=50, null=True, blank=True, verbose_name=_('State'))
3. admin.py
class CompanyAdminForm(forms.ModelForm):
state = MyChoiceField(label=_('State'), required=False)
def locations(self):
import json
return json.dumps(settings.LOCATION)
def __init__(self, *args, **kwargs):
ins = kwargs.get('instance')
super(CompanyAdminForm, self).__init__(*args, **kwargs)
state = self.fields['state']
if ins and ins.country:
state.choices = [(item, item) for item in settings.LOCATION.get(ins.country)]
class Meta:
model = Company
class CompanyAdmin(admin.ModelAdmin):
form = CompanyAdminForm
4. templates/admin/app/company/change_form.html
复制原change_form.html内容 在合适位置加入(自行写js代码 )
script type="text/javascript"
var LOCATION = {{ adminform.form.locations | safe }};
var $ = django.jQuery;
$(document).ready(function(){
$('#id_country').change(function(){
var country =$(this).val();
$('#id_state').empty();
if (country ){
var state = LOCATION[country];
var i;
for (i=0; istate.length; i++){
var v = state[i];
$('#id_state').append("option value='" + v + "'" + v + "/option");
}
} else {
$('#id_state').append("option value=''" + "---------" + "/option");
}
});
});
/script
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 获取 POST 请求值的几种方法1、django获取post过来的多个键值对:
Ajax:
var languages = {};
languages['english'] = ['mark', 'james'];
languages['spanish'] = ['amy', 'john'];
$.ajax({
type: 'POST',
url: '/save/',
data: languages,
dataType: 'json'
});
Django Views.py
if request.is_ajax() and request.method == 'POST':
for key in request.POST:
print key
valuelist = request.POST.getlist(key)
print valuelist
---------------------
fiddle:
name=june; age=26;
---------------------
views.py
16 for key in request.POST:17 print key18 valuelist = request.POST.getlist(key)19 print valuelist
----------------------------
Development server is running atQuit the server with CONTROL-C. Your method is POST! name [u'june']
age [u'26'] [04/Apr/2012 10:58:11] "POST /getuin/ HTTP/1.1" 200 20
2、一次加载所有值:
def view_example(request):
data=simplejson.loads(request.raw_post_data)
3、获取多个值作为一个列表
request.POST get multiple values
The QueryDict.getlist() allows to get all the checkbox(or select list) values from the request.POST/GET object.
Let’s assume we have a simple form with the following checkboxes. Each checkbox contains an ID of an artist. 1form method="post" action="" 2 ... 3input value="1" name="artists" type="checkbox" 4input value="2" name="artists" type="checkbox" 5input value="3" name="artists" type="checkbox" 6 ... 7/form
In views.py : 1def handle(request): 2if request.method == 'POST': 3 artists = request.POST.getlist('artists') # now artists is a list of [1,2,3]
django怎么在后端获取下拉框的值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于django返回html页面、django怎么在后端获取下拉框的值的信息别忘了在本站进行查找喔。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。