如何使用django表单在单选按钮旁边添加文本框?我已经单独设置了单选按钮。
我还想存储文本框的值而不是"其他"。
forms.py
from django import forms
from .models import MyModel
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
fields = (
'question',
)
widgets = {
'question': forms.RadioSelect,
}
models.py
class MyModel(TimeStampedModel):
Choice1 = "Choice 1"
Choice2 = "Choice 2"
Other = "Other"
MyModel_Choices = (
(Choice1 = 'Choice 1'),
(Choice2 = 'Choice 2'),
(Other = 'Other'),
)
question = models.CharField(
_('Question'),
max_length=100,
choices=MyModel_Choices,
help_text='Help Text'
)
预期产出:
问题:
- 选择1
- 选择2
- 其他[文本框]
帮助文字
答案 0 :(得分:0)
如果文本框不在您的Django表单中,因为它不是您表单中的输入之一,那么您只需将该文本放入html中的 div 并使用css显示内联或内嵌块的属性,您可以在“其他”单选按钮旁边显示该div
看到这个 - > http://www.w3schools.com/cssref/pr_class_display.asp
答案 1 :(得分:0)
即使您可以指定小部件,我也认为它不会起作用,因为您无法将其存储在模型中 - 您的question
字段仅限于您在模型中设置的选项。
您可能想重新考虑您的设计,如果无线电选择是其他选项,您可以在单选按钮下面单独输入(可能是?)。
这就是在发布时必须处理代码的方式,因为所有输入都需要为其分配名称。
答案 2 :(得分:0)
在forms.py
中为django表单添加另一个输入字段现在在您的javascript文件中,在页面加载时隐藏该输入。
$('#Other').click(function(){
if ($(this).is(':checked')){
$("#user-input-textbox").show();
}
else{
$("#user-input-textbox").html('');
$("#user-input-textbox").hide();
}
});
当'其他'选中单选按钮并在取消选中时将其隐藏,并在隐藏之前清除现有值:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not open file "C:\Mar-2015.csv" for reading: No such file or directory