首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django中提交动态创建的输入字段

在django中提交动态创建的输入字段
EN

Stack Overflow用户
提问于 2019-03-27 20:03:36
回答 1查看 115关注 0票数 0

我正在使用Django做一个项目,我动态地创建了一个输入域,并试图提交它,但我做不到,我在网上搜索,我看到它可以用formset_factory完成,但当我尝试它时,我得到了这个错误

代码语言:javascript
复制
CatName = int(float(request.POST.get('CatName')))
TypeError: float() argument must be a string or a number, not 'NoneType'

以下是我的代码

the form.html

代码语言:javascript
复制
<form action="." method="post" id="PostCat__form">{% csrf_token %}
                <input type="hidden" name="deyHidden" value="category_hidden">
                {% comment %} {{ catForm | crispy }}       
                <input type="hidden" name="deyHidden" value="category_hidden"> {% endcomment %}
                <input type="text" class="form-control" name="CatName[]" >
                <input type="text" class="form-control" name="CatName[]" >
                <input type="text" class="form-control" name="CatName[]" >
                <input type="text" class="form-control" name="CatName[]" >

                <div class="form-group">
                    <h6 id="PostCat__show"></h6>
                    <img src=" {% static 'images/ajax-loader.gif' %}" style="Display:none;" id="PostCat__img">
                    <button class="btn btn-outline-info" type="submit"   id="PostCat__submit">Create</button>
                </div>
            </form>

the model.py

代码语言:javascript
复制
class Category(models.Model):
    CatName = models.CharField(max_length=100)

the view.py

代码语言:javascript
复制
        myFormCat = CatPostForm(request.POST)
        CatName = int(float(request.POST.get('CatName')))
        # print(CatName)
        formset = formset_factory(FormsetForm, CatName=CatName)(request.POST)

        if myFormCat.is_valid() and formset.is_valid():
            for form_c in formset:
                if not form_c.cleaned_data['CatName']:
                    Category.objects.get_or_create(CatName=CatName)
                    response_data = {
                        'SType': 'success',
                        'message': "Saved Successfully"
                    }                
        return HttpResponse(json.dumps(response_data), content_type="application/json")

the forms.py

代码语言:javascript
复制
class CatPostForm(forms.ModelForm):
    class Meta: 
        model=Category
        fields = ['CatName']

请告诉我如何才能成功提交表格,

EN

回答 1

Stack Overflow用户

发布于 2019-03-27 20:12:12

views.py

代码语言:javascript
复制
from django.forms import formset_factory
CatPostFormSet = formset_factory(CatPostForm)
catformset = CatPostFormSet() #this goes to your page context. do the validations here also after the post

form.html

代码语言:javascript
复制
<form method="post">
    {{ formset.management_form }}
        {{formset}}
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55376742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档