创建具有多种输入类型的表单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建具有多种输入类型的表单相关的知识,希望对你有一定的参考价值。
我正在尝试创建一个输入表单字段,可以在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完成吗?
答案
您应该像Froala Editor一样使用WYSIWYG编辑器
用法
from django import forms
from froala_editor.widgets import FroalaEditor
class PageForm(forms.ModelForm):
content = forms.CharField(widget=FroalaEditor)
另一答案
你尝试过使用WYSIWYG插件吗? Django summernote可能会工作https://github.com/summernote/django-summernote
然后,您可以在窗体中将窗口小部件设置为SummernoteWidget
另一答案
要在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)
这将呈现用户可以上传图像和其他文件的单独文件字段。
以上是关于创建具有多种输入类型的表单的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Javascript DOM 从具有多个表单的页面获取具有输入类型密码的表单?