我试图风格我的Django 文件上传按钮,但因为它是通过表单处理,而不是明确地写在模板中的HTML我不能直接用HTML和CSS像我可以为类型输入的其他按键设置样式。你怎么样式Django的文件选择器表单按钮?
我试图在我的forms.py
中添加我的CSS类,但它将香草默认的Django文件上传按钮放在我的CSS样式按钮上。
我的代码如下:
class FileUploadForm(forms.Form):
docFile = forms.FileField(
label = "Select a CSV file",
)
class Meta:
model = FileUpload
fields = ('docFile')
def __init__(self, *args, **kwargs):
super(FileUploadForm, self).__init__(*args, **kwargs)
self.fields['docFile'].widget.attrs.update({'class': 'my_class'})
我也试过我Meta
类中定义widget
像这样:
class Meta:
model = FileUpload
widgets = {
'docFile': forms.FileInput(attrs={'class': 'my_class'}),
}
但有我的第一次尝试同样的效果。
有没有实现这一点还是有,你可以在我的代码中发现一些逻辑错误,以不同的方式?
只是要具体是......你没有看到这个类中呈现的HTML(Django的问题)增加的问题?或者你无法覆盖默认CSS设置(CSS问题)? – dylrei
我可以看到我的自定义CSS,但问题是,默认的'文件Upload'按钮触发那么该文件选择器被放置在我的CSS样式顶部。所以看起来这可能是CSS或Django方面的问题。 –
所以......你看看呈现表单的HTML源代码,你的按钮有一个my_class类?那么这是一个CSS问题。可能的解决方案包括稍后加载CSS和/或添加!important选项或在模板底部执行快速JS调用,以在按钮上强制使用不同的样式。 – dylrei