我试图制作一个滑动条以允许用户对Django中的图像进行评分,而我遇到了Django-Floppyforms
但是,在尝试使用示例Slider Widget
时遇到问题根据PyPi Installation guidelines我使用命令pip install -U django-floppyforms
通过pip在虚拟环境中安装它。 pip freeze
给了我
Django==1.6.2
django-floppyforms==1.2.0
然后我将其添加到我的settings.py中的INSTALLED_APPS
INSTALLED_APPS = (
'django.contrib.admin',
...
'django.contrib.flatpages',
'polls',
'survey',
'floppyforms',
)
然后我创建了一个与我的models.py和views.py相同级别的floppyforms.py文件,并在以下内容中进行了修改
import floppyforms as forms
class Slider(forms.RangeInput):
min = 5
max = 20
step = 5
template_name = 'slider.html'
class Media:
js = (
'js/jquery.min.js',
'js/jquery-ui.min.js',
)
css = {
'all': (
'css/jquery-ui.css',
)
}
class SlideForm(forms.Form):
num = forms.IntegerField(widget=Slider)
def clean_num(self):
num = self.cleaned_data['num']
if not 5 <= num <= 20:
raise forms.ValidationError("Enter a value between 5 and 20")
if not num % 5 == 0:
raise forms.ValidationError("Enter a multiple of 5")
return num
但是,一旦我这样做,我的现有应用程序就会停止工作并给我错误
Exception Value: 'module' object has no attribute 'RangeInput'
有什么想法吗?我用谷歌搜索了错误,但似乎无法得到很多。我正在运行Python 2.7.5
答案 0 :(得分:2)
问题是您将文件floppyforms.py
命名为与模块同名的文件。
将您的文件重命名为forms.py
,这是django表格中的常规做法。