tengke 发表于 2023-8-7 10:57:18

python django浏览器不显示字段名称

py文件内容
class Tpwz(forms.Form):
    class Meta:
      model = models.fj
      username = forms.CharField(label="名字")
      wz=forms.FileField(label="位置")
def wz(request):
    if request.method == "GET":
      form= Tpwz()
      return render(request, "bj2.html",{"form":form})

数据库创建内容
class fj(models.Model):
    username = models.CharField(verbose_name="用户名",max_length=32)
    wz =models.CharField(verbose_name="位置",max_length=64)


html界面
{% extends 'rootyongh.html' %}
{% block b %}
<body>
    <form method="post" enctype="multipart/form-data" novalidate>
      {% csrf_token %}
   {% for form in form %}
       <div class="form-group">
       {{ form.label }} : {{ form }}
       <span style="color: red:"> {{ form.errors.0 }}</span>
         </div>
   {% endfor %}
   <input type="file" name="aaa">
      <button type="submit" class="btn btn-primary">提 交</button>
   <input type="reset" name="reset" id="reset" value="重置">
      </form>
    </body>
{% endblock %}





——————————————————————
有问题的界面截图

正常应该有个 input的用户名输入框

琅琊王朝 发表于 2023-8-15 09:10:03

根据你提供的代码和界面截图,存在一些问题导致浏览器不显示字段名称:

类名 Tpwz 应该使用小写字母开头,而不是大写字母开头。
修改后的代码:


class Tpwz(forms.Form):
    用户名 = forms.CharField(label="用户名")
    wz = forms.FileField(label="位置")

def wz(request):
    if request.method == "GET":
      form = Tpwz()
      return render(request, "bj2.html", {"form": form})
在模板中,for 循环的变量名应与传递给模板的变量名保持一致。你传递给模板的变量名是 "form",所以在循环中应该使用相同的变量名。另外,form.label 应该使用 form.label_tag。
修改后的模板代码:


{% extends 'rootyongh.html' %}
{% block b %}
<body>
    <form method="post" enctype="multipart/form-data" novalidate>
      {% csrf_token %}
      {% for form in form %}
      <div class="form-group">
            {{ form.label_tag }}:
            {{ form }}
            <span style="color: red;">{{ form.errors.0 }}</span>
      </div>
      {% endfor %}
      <input type="file" name="aaa">
      <button type="submit" class="btn btn-primary">提交</button>
      <input type="reset" name="reset" id="reset" value="重置">
    </form>
</body>
{% endblock %}
页: [1]
查看完整版本: python django浏览器不显示字段名称