为了账号安全,请及时绑定邮箱和手机立即绑定

Django表单未出现在模板上

Django表单未出现在模板上

一只萌萌小番薯 2022-09-20 16:45:40
我目前正在从事一个需要Django Forms的项目,但我最终遇到了一些问题。我的表单根本不显示...我的模板上未显示任何字段。所以我的代码:models.pyclass Place(models.Model):    name = models.CharField(max_length=255)    longitudeMax = models.DecimalField(max_digits=8, decimal_places = 4 ,blank=True)    longitudeMin = models.DecimalField(max_digits=8, decimal_places = 4, blank=True)    latitudeMax = models.DecimalField(max_digits=8, decimal_places = 4, blank=True)    latitudeMin = models.DecimalField(max_digits=8, decimal_places = 4, blank=True)    datasetPath = models.CharField(max_length=255)    isActive = models.BooleanField(default=True)    def __str__(self):        return self.name    def get_place(self, name):        return Noneforms.pyclass NewPlaceForm(forms.Form):    name = forms.CharField(        widget=forms.TextInput(            attrs={                "placeholder" : "Name",                                "class": "form-control"            }        ))    longMax = forms.DecimalField(        widget=forms.NumberInput(            attrs={                "placeholder" : "Longitude Max",                                "class": "form-control"            }        ))    longMin = forms.DecimalField(        widget=forms.NumberInput(            attrs={                "placeholder" : "Longitude Min",                                "class": "form-control"            }        ))    latMax = forms.DecimalField(        widget=forms.NumberInput(            attrs={                "placeholder" : "Latitude Max",                                "class": "form-control"            }        ))    latMin = forms.DecimalField(        widget=forms.NumberInput(            attrs={                "placeholder" : "Latitude Min",                                "class": "form-control"            }        ))    class Meta:        model = Place        fields = ('name', 'longitudeMax', 'longitudeMin', 'latitudeMax', 'latitudeMin')]
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

Django处理开箱即用的表单呈现,要显示基本表单,请尝试:


  <form method="POST" action="{% url 'namespaced:url' %}">

    { csrf_token %}

    {{ form.as_p }}

    <input type="submit" value="submit">

  </form>

也就是说,看起来您正在模板中使用引导,您可能会发现该包很有用(https://github.com/zostera/django-bootstrap4)。django-bootstrap4


快速示例:


pip install django-bootstrap4


并添加到已安装的应用。bootstrap4


然后在您的模板中:


{% load bootstrap4 %}


{# Load CSS and JavaScript #}

{% bootstrap_css %}

{% bootstrap_javascript jquery='full' %}




<form action="{% url 'namespaced:url' %}" method="post" class="form">

  {% csrf_token %}

  {% bootstrap_form form %}

  {% buttons %}

    <button type="submit" class="btn btn-primary">

      Submit

    </button>

  {% endbuttons %}

</form>

如果需要,可以使用: 手动呈现每个字段,因此您可以执行类似 之类的操作来手动排列页面上的表单字段。{% bootstrap_field field %}<div class="col-md-6">{% bootstrap_field my_field %}</div>


查看完整回答
反对 回复 2022-09-20
  • 1 回答
  • 0 关注
  • 46 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信