Regex 基于django中的正则表达式动态设置选项字段的默认选项

Regex 基于django中的正则表达式动态设置选项字段的默认选项,regex,django,django-forms,Regex,Django,Django Forms,我需要根据输入“procedure”动态设置字段“procedure\u field”的默认值 例如:程序_字段填充a123、b123、c123等 若程序是c,那个么我需要将默认值设置为c123。 怎么做 views.py tickets = request.POST['tickets'] tickets = str(tickets).translate(None,'[]\'') procedure = request.POST['procedure'] form = forms.fillFo

我需要根据输入“procedure”动态设置字段“procedure\u field”的默认值 例如:程序_字段填充a123、b123、c123等 若程序是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格式加载时,我需要动态设置默认值。

如果我正确理解您的意思,那么您希望为过程设置一个默认(正确)值,以替换提供的过程值,以防其无效

这是使用(-ish)运算符的绝佳机会:

procedure = procedure if re.compile("[a-zA-Z][\\d]+", re.IGNORECASE).match(procedure) else "a123"
这是正式的名称

看起来是这样展开的:

import re

regex = re.compile("[a-zA-Z][\\d]+", re.IGNORECASE)
if not regex.match(procedure):
    procedure = "c123"