Django的新手,所以我不确定如何实现以下目标......
我有这个正则表达式
"@£$¥èéùìòÇ\fØø\nÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./[0-9]:;<=>\?¡[A-Z]ÄÖÑܧ¿[a-z]äöñüà\^\{\}\[~\]\|€"
我有这个功能:
def validate_GSM_characters(value):
""" Raise a ValidationError if the value contains any values not within
the GSM character set.
"""
msg = u"Invalid characters."
raise ValidationError(msg)
目前它什么也没做,但我需要知道如何在Django / Python中创建一个允许我检查值的正则表达式函数。我进行了Google搜索,只能找到与模型验证相关的文章。
答案 0 :(得分:2)
只需使用带有re
模块的表达式:
import re
yourrule = re.compile(r"@£$¥èéùìòÇ\fØø\nÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./[0-9]:;<=>\?¡[A-Z]ÄÖÑܧ¿[a-z]äöñüà\^\{\}\[~\]\|€")
def validate_GSM_characters(value):
""" Raise a ValidationError if the value contains any values not within
the GSM character set.
"""
if not yourrule.search(value):
msg = u"Invalid characters."
raise ValidationError(msg)
您也可以使用RegexValidator
;只需将表达式和消息传递给它,然后使用它代替上述函数。