我需要设置字段' procedure_field'的默认值。动态地基于输入'程序' 例如:procedure_field填充了a123,b123,c123等 如果procedure是c,那么我需要将默认值设置为c123。 怎么做??
views.py
tickets = request.POST['tickets']
tickets = str(tickets).translate(None,'[]\'')
procedure = request.POST['procedure']
form = forms.fillForm(initial{'ticket_field':tickets,---code to set default----})
return render(request, 'fill_tickets.html',{'form':form})
forms.py
class fillForm(forms.Form):
ticket_field = forms.CharField(widget=forms.Textarea,required=True)
procedure_field = forms.ChoiceField(
choices=get_procedures(),required=True )
get_procedures()返回静态值.. 当表单加载到html中时,我需要动态设置默认值。
答案 0 :(得分:0)
如果我理解正确,那么您希望为过程提供默认(正确)值,以便在无效时替换提供的过程值。
这是一个使用ternary(-ish)运算符的好机会:
procedure = procedure if re.compile("[a-zA-Z][\\d]+", re.IGNORECASE).match(procedure) else "a123"
官方称之为Conditional Expression。
看起来像这样展开:
import re
regex = re.compile("[a-zA-Z][\\d]+", re.IGNORECASE)
if not regex.match(procedure):
procedure = "c123"