我正在尝试创建一个输入表单字段,该字段可以接受我们在Twitter中看到的文本,图像或视频。
我正在尝试以下操作:
from django import forms
from .models import Tweet
class TweetModelForm(forms.ModelForm):
content = forms.CharField(label='',
widget=forms.Textarea(
attrs={'placeholder': "Your message",
"class": "form-control"}
))
但是,我试图使用相同的输入框,以便用户可以上传图像,视频,GIF或仅在框中输入文本。我不确定如何修改上述表单字段。
编辑: 如果无法使用Django,可以使用HTML5做到这一点吗?
答案 0 :(得分:4)
用法
from django import forms
from froala_editor.widgets import FroalaEditor
class PageForm(forms.ModelForm):
content = forms.CharField(widget=FroalaEditor)
答案 1 :(得分:0)
您是否尝试过使用WYSIWYG插件? Django summernote可能有效 https://github.com/summernote/django-summernote
然后您可以将窗体的小部件设置为SummernoteWidget
答案 2 :(得分:0)
要以Django
格式添加文件上传,您需要将FileField
添加到表单类中。
如下更新您的 forms.py 。
from django import forms
from .models import Tweet
class TweetModelForm(forms.ModelForm):
content = forms.CharField(label='',
widget=forms.Textarea(
attrs={'placeholder': "Your message",
"class": "form-control"}
))
file = forms.FileField(label="Upload file", blank=True)
这将呈现单独的文件字段,用户可以上传图像和其他文件。