Django表单未出现在模板上

我目前正在从事一个需要Django Forms的项目,但我最终遇到了一些问题。我的表单根本不显示...我的模板上未显示任何字段。


所以我的代码:


models.py


class 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 None

forms.py


class 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')

]


一只萌萌小番薯
浏览 103回答 1
1回答

繁花如伊

Django处理开箱即用的表单呈现,要显示基本表单,请尝试:&nbsp; <form method="POST" action="{% url 'namespaced:url' %}">&nbsp; &nbsp; { csrf_token %}&nbsp; &nbsp; {{ form.as_p }}&nbsp; &nbsp; <input type="submit" value="submit">&nbsp; </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">&nbsp; {% csrf_token %}&nbsp; {% bootstrap_form form %}&nbsp; {% buttons %}&nbsp; &nbsp; <button type="submit" class="btn btn-primary">&nbsp; &nbsp; &nbsp; Submit&nbsp; &nbsp; </button>&nbsp; {% endbuttons %}</form>如果需要,可以使用: 手动呈现每个字段,因此您可以执行类似 之类的操作来手动排列页面上的表单字段。{% bootstrap_field field %}<div class="col-md-6">{% bootstrap_field my_field %}</div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python