django 表单占位符未按预期工作?

问题描述 投票:0回答:1

我创建了一个 django 表单并尝试添加占位符并删除表单标签。我遇到了一个添加占位符的解决方案,但它似乎没有效果。

这是forms.py

class AppForm(forms.ModelForm):
    class Meta:
        model = App
        fields = ('__all__')

        def __init__(self, *args, **kwargs):
            super(AppForm, self).__init__(*args, **kwargs)

            self.fields['appname'].widget.attrs['placeholder'] = 'App Name'
            self.fields['link'].widget.attrs['placeholder'] = 'App Link'

这是我的html文件

{% extends 'main/base.html' %}
{% load static %}
{% load crispy_forms_tags %}
{% block content %}

<div class="content-above">  </div>
<div class="content">
    <div>
    <form action="" method="post" autocomplete="off" enctype="multipart/form-data">
        <div>
        {% csrf_token %}
        {{ form.appname|as_crispy_field }}
        {{ form.link|as_crispy_field }}
        </div>
        <div class="row">
            <div class="col-md-8">
                <button type="submit">Submit</button>
            </div>
            <div class="col-md-4">
                <a href="{% url 'app_list' %}">Back to list</a>
        </div>
    </form>
</div>
</div>
{% endblock content %}

请帮忙,如果可能的话还告诉我如何删除默认标签!

html django forms django-forms django-crispy-forms
1个回答
0
投票

我又看了一遍,发现错误,我所要做的就是把缩进弄对

class AppForm(forms.ModelForm):
    class Meta:
        model = App
        fields = ('__all__')

    def __init__(self, *args, **kwargs):
        super(AppForm, self).__init__(*args, **kwargs
        self.fields['appname'].widget.attrs['placeholder'] = 'App Name'
            self.fields['link'].widget.attrs['placeholder'] = 'App Link'

class AppForm(forms.ModelForm):
    class Meta:
        model = App
        fields = ('__all__')

        def __init__(self, *args, **kwargs):
            super(AppForm, self).__init__(*args, **kwargs)

            self.fields['appname'].widget.attrs['placeholder'] = 'App Name'
            self.fields['link'].widget.attrs['placeholder'] = 'App Link'
© www.soinside.com 2019 - 2024. All rights reserved.