0
我有一個表單,其中包含一個稱爲級別的選擇字段,允許選擇0-3之間的值,我想要動態限制選項。這可能嗎?該視圖是否有可能限制在Django的表單實例中的選擇字段
僞代碼將包含這樣的事情:
form = new instance of myform
allowed_level = 2
form.level maximum value =< allowed_level
我有一個表單,其中包含一個稱爲級別的選擇字段,允許選擇0-3之間的值,我想要動態限制選項。這可能嗎?該視圖是否有可能限制在Django的表單實例中的選擇字段
僞代碼將包含這樣的事情:
form = new instance of myform
allowed_level = 2
form.level maximum value =< allowed_level
當然,你可以創建表單時動態設置驗證標準:(注意:這不是一個完整的例子,因爲我」不能確定你的設置中)
class MyForm(forms.Form):
level = ...
def __init__(self, *args, **kwargs, allowed_level=None):
self.allowed_level = allowed_level
super(MyForm, self).__init__(*args, **kwargs)
def clean_level(self):
data = self.cleaned_data['level']
# Here you can play with what you want to allow
if level > self.allowed_level:
raise forms.ValidationError("A problem with level value")
return data
,只需使用您的視圖通常
def my_view(request, ...):
form = MyForm(allowed_level=2)
if form.is_valid():
...
「命令」和「僞」的意思兩個不同的東西:) – agf 2012-04-06 13:29:57
@moguzalp「su」命令是「超級用戶」的縮寫,所以「sudo」的意思是「超級用戶做」。 – agf 2012-04-06 13:41:46
@moguzalp我不確定這是相關的:)這是對Unix命令名稱的誤解。 – agf 2012-04-06 13:44:47