首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Django的ImageField中重命名、清除和更改标签

如何在Django的ImageField中重命名、清除和更改标签
EN

Stack Overflow用户
提问于 2014-07-31 03:26:50
回答 2查看 3.6K关注 0票数 11

我对django相对来说是个新手。我使用ImageForm从用户获取图像路径。

代码语言:javascript
运行
复制
class EditProfileForm(ModelForm):
    username = CharField(label='User Name', widget=TextInput(attrs={'class': 'form-control'}), required=True)
    image = ImageField(label='Select Profile Image',required = False)

它显示的图像小部件如下:

我想重命名标签-目前,清除和更改。基本上,我的整个页面没有小写,所以我想使这些标签文本也在小写,如目前,明确和改变。

有办法这样做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-31 06:49:38

你有很多选择。

您可以通过使用CSS使文本小写而具有艺术性。

或者,您可以更改python/django中发送到浏览器的文本。

最终,表单字段小部件通过一个名为render()的函数控制html输出到视图。"ClearableFileInput“小部件的呈现()函数使用小部件类中的一些变量。

您可以在ClearableFileInput类中创建自己的自定义类,并替换您自己的小写文本字符串。ie:

代码语言:javascript
运行
复制
from django.forms.widgets import ClearableFileInput

class MyClearableFileInput(ClearableFileInput):
    initial_text = 'currently'
    input_text = 'change'
    clear_checkbox_label = 'clear'

class EditProfileForm(ModelForm):
    image = ImageField(label='Select Profile Image',required = False, widget=MyClearableFileInput)
票数 10
EN

Stack Overflow用户

发布于 2021-03-03 02:01:36

清除这个老问题,如果您想要比子类ClearableFileInput、创建widgets.py文件更简单的东西,等等。

如果您已经在ModelForm文件中子类,只需修改该表单的__init__()即可。

例如:

代码语言:javascript
运行
复制
class EditProfileForm(ModelForm):
    username = CharField(label='User Name', widget=TextInput(attrs={'class': 'form-control'}), required=True)
    image = ImageField(label='Select Profile Image',required = False)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['image'].widget.clear_checkbox_label = 'clear'
        self.fields['image'].widget.initial_text = "currently"
        self.fields['image'].widget.input_text = "change"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25050361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档