首页 > 解决方案 > Crispy_forms_tags 在我的更新视图中没有用实例填写表单

问题描述

当我使用 {{form.as_p}} 时,我在 UpdateView 上的更新视图问题,它的工作。但是当我使用 {% load crispy_forms_tags %} 表单时没有填充实例。

我的观点.py;

def ayarlar (request):
    userinstance=get_object_or_404(kullaniciBilgileri,id=1)
    form =  KullaniciForm(request.POST or None, instance=userinstance)
    if form.is_valid():
        form.save()
    context={
         'form':form,
    }
    return render(request, 'cek/ayar.html',context)

在我的模板 {{forms.as_p}} 中工作,但我想要这种类型:


<form action="" method="post">
{% load crispy_forms_tags %}
    {% csrf_token %}
  <div class="form-row" >


    <div class="form-group col-md-6">
      <label>First Name</label>
      <input type="text" name='{{ form.firstName.name }}' class="form-control"  >
    </div>

    <div class="form-group col-md-6">
      <label>Last Name</label>
      <input type="text" name='{{ form.lastName.name }}' class="form-control"  >
    </div>


  </div>

但是这种类型不填充实例。

我怎么解决这个问题

标签: pythondjangodjango-crispy-forms

解决方案


{% load crispy_forms_tags %}这应该在表单标签之上。

模板

{% load crispy_forms_tags %}

  <form method="post">
    {% csrf_token %}
    {{ form|crispy }}
    <button type="submit" class="btn btn-primary">Sign in</button>
  </form>

使用自定义字段:

{% load crispy_forms_tags %}  #< should be above form tag

<form action="" method="post">
    {% csrf_token %}
  <div class="form-row" >
    <div class="form-group col-md-6">
      <label>First Name</label>
      <input type="text" name='{{ form.firstName.name|as_crispy_field }}' class="form-control"  >
    </div>

    <div class="form-group col-md-6">
      <label>Last Name</label>
      <input type="text" name='{{ form.lastName.name|as_crispy_field }}' class="form-control"  >
    </div>


  </div>

推荐阅读