【问题标题】:Django get modelformset_factory input field ID's in html templateDjango 在 html 模板中获取 modelformset_factory 输入字段 ID
【发布时间】:2020-07-13 21:34:21
【问题描述】:

我正在尝试在 HTML 模板中获取表单的输入 ID,以便编写 javascript 代码以在您单击 div 时触发输入字段。我正在尝试打印模板中每个输入字段的 ID,但是现在我的代码没有在页面上显示任何内容:

在我的**模板中我目前有:**

    {% for form in formset %}
        {% for field in form.fields %}
            {{ field.auto_id }}
        {% endfor %}
    {% endfor %} 

这是我的观点:

@login_required
def post_create(request):
    data = dict()
    ImageFormset = modelformset_factory(Images,form=ImageForm,extra=4)
    if request.method == 'POST':
        form = PostForm(request.POST)
        formset = ImageFormset(request.POST or None, request.FILES or None)
        if form.is_valid():    
            post = form.save(False)
            post.author = request.user
            #post.likes = None
            post.save()
            for f in formset:
                try:
                    i = Images(posts=post, image=f.cleaned_data['image'])
                    i.save()
                except Exception as e:
                    break
            data['form_is_valid'] = True
            posts = Post.objects.all()
            posts = Post.objects.order_by('-last_edited')
            data['posts'] = render_to_string('home/posts/home_post.html',{'posts':posts},request=request)
        else:
            data['form_is_valid'] = False
    else:
        form = PostForm  
        formset = ImageFormset(queryset=Images.objects.none())     
    context = {
    'form':form,
    'formset':formset,
    }
    data['html_form'] = render_to_string('home/posts/post_create.html',context,request=request)
    return JsonResponse(data) 

我想知道这是否是最好的方法,但是,有没有办法动态获取字段的 ID?还是应该为每个 div 编写单独的函数来触发特定的输入字段?

提前致谢!

【问题讨论】:

    标签: javascript html django django-forms django-templates


    【解决方案1】:

    已解决:

    所以显然我使用了不正确的循环,我的字段的 id 可以使用:

        {% for form in formset %}
            {{ form.image.auto_id }}
        {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 2019-02-23
      • 2021-12-18
      相关资源
      最近更新 更多