Django表单自定义FileField

时间:2016-08-25 10:17:48

标签: python django

我正在为我的django应用程序进行超级简单的图片上传,并且我不得不自定义允许上传的标签。

现在,它看起来像:

enter image description here

这非常难看,与我在代码中所做的事情无关。

我想自定义按钮样式并显示文本"没有选择文件"在它的顶部(或在其下,无论如何)。

代码:

class ImageForm(forms.Form):
    imageFile = forms.FileField(
        label = _('select an image')
    )

和我的模特:

class ImageVisionModel(CMSPlugin):
    def __str__(self):
        return 'Computer vision demo'

因为我没有存储图像。

所以我不知道我是否遗漏了某些东西,但是当我检查元素时,标签+文字只是一个单一元素。 除了标签右侧的文字外,我似乎无法直接用css修改按钮上的任何内容。

我查看了StackOverflow和django doc,但我一无所获。

或许我错过了什么?

1 个答案:

答案 0 :(得分:0)

这就是我在@Sergey共享的链接的帮助下所做的

<div class="upload">
   {{ myForm.picture}}
</div>

在CSS文件中

.upload {
    width: 157px;
    height: 57px;
    background: url(https://lh6.googleusercontent.com/-dqTIJRTqEAQ/UJaofTQm3hI/AAAAAAAABHo/w7ruR1SOIsA/s157/upload.png);
    overflow: hidden;
}

.upload input {
    display: block !important;
    width: 157px !important;
    height: 57px !important;
    opacity: 0 !important;
    overflow: hidden !important;
}