You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模态框中ModelForm表单字段不显示的问题求助

Django模态框中ModelForm表单字段不显示的问题求助

我的HTML代码(home.html)

<!-- New hardware Button -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
    New Hardware
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLongTitle">Enter Hardware Details</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">
          <form action="" method="post" id= "dataform">
            {% csrf_token %}
            {{ form.as_table }}
          </form>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
          <button type="submit" class="btn btn-primary" form="dataform">Save changes</button>
        </div>
      </div>
    </div>
  </div>

我的视图代码(views.py)

def home(request):
        
        obj = hardware.objects.get(id=1)
        Display = [{
            'productgroup' : obj.productgroup,
            'make' : obj.make,
            'model' : obj.model,
            'serial' : obj.serial,
            'value' : obj.Value,
            'purchasedate' : obj.purchasedate,
            'bookvalue' : obj.bookvalue,
            'solid' : obj.solid
        }]
        return render (request, "home.html", {'Display': Display} )

def newentry_view(request):
    form = newentry()
    print (form.fields)
    if request.method == "POST":
        form = newentry(request.POST)
        if form.is_valid():
            form.save()
        else:
            form = newentry()
    content = {'form' : form}
    return render (request, "home.html", content)

我的表单代码(forms.py)

from django import forms
from .models import hardware

class newentry (forms.ModelForm): 
    class Meta:
        model = hardware
        fields = "__all__"

我的模型代码(models.py)

from django.db import models

class hardware (models.Model):
    productgroup = models.CharField(max_length=50)
    make = models.CharField(max_length=50)
    model = models.CharField(max_length=40)
    serial = models.CharField(max_length=40)
    Value = models.DecimalField(decimal_places=2, max_digits=15)
    purchasedate = models.DateField()
    bookvalue = models.DecimalField(decimal_places=2, max_digits=15)
    solid = models.IntegerField()

我的URL配置(urls.py)

from django.contrib import admin
from django.urls import path
from newhwd.views import home


urlpatterns = [
    path('admin/', admin.site.urls),
    path('home/', home)
]

我现在在尝试用Django做一个基础的CRUD功能,想要通过模态框来展示表单,让用户输入新的硬件信息。但是现在模态框弹出来之后是空的,表单字段完全不显示,而且也没有任何报错。另外,从后端读取数据展示的功能是正常的,没问题。我已经尝试把模板里的变量改成form了,但还是不行,有没有大佬能帮我看看哪里出问题了?

备注:内容来源于stack exchange,提问作者gagandeep bishnoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:34:34