首页 > 解决方案 > django中是否有任何属性或类似占位符的东西,我可以在其中编写永久文本

问题描述

我正在制作一个简单的表格。我正在搜索 django 中的任何术语,例如占位符,但是当用户在文本框中键入内容时,“占位符文本”会消失。我想要 django-text-field 中的“永久文本”之类的东西,当用户打开表单时,他们必须在我在编码时输入的“永久文本”之后开始写一些东西。

永久文本应该保留在那里用户输入,而不是像占位符文本那样消失。

标签: djangodjango-modelsdjango-formsdjango-templates

解决方案


是的你可以。在您的form.py中,您可以使用添加所有 css 属性widget

class OrganizationForm(forms.Form):

    class Meta:
        model = Organization
        fields = ('org_about', 'org_pic')

    org_about = forms.CharField(
        label='About Organization',
        required=False,
        widget = forms.Textarea(
            attrs={
                'class': 'form-control valid',
                'onfocus': 'this.placeholder = ''',
                'onblur': "this.placeholder = 'About Your organization'",
                'type':'text',
                'placeholder': 'About Your organization',
                'rows': 5,
                'cols': 15,
                'value': 'about organization',

            }
        )
    )

在此处查看有关widgets.

据我所知,没有办法完全符合您的要求。我正在分享一个想法,您可以通过这种方式实现:

input {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="30"><text x="5" y="19" style="font: bold 16px Arial;">Age:</text></svg>') no-repeat;
  border: 1px solid #555;
  box-sizing: border-box;
  font: 16px "Arial";
  height: 30px;
  padding-left: 50px;
  width: 300px;
}
<input type="text" />
更多细节 此外,您可以使用:before :after css效果来实现您想要的。


推荐阅读