django-rest-framework希伯来语支持

时间:2015-11-10 20:26:43

标签: django internationalization django-rest-framework hebrew

我正在尝试在RESTful API中支持英语希伯来语

当我尝试在希伯来语中创建新的 auth.user 时,它会返回

 "{"username":["Enter a valid username. 
This value may contain only letters, numbers and @/./+/-/_ characters."]}"

如何添加对希伯来语的支持并允许希伯来语用户名?

2 个答案:

答案 0 :(得分:1)

auth.User来自Django,因此它与Django REST框架没有严格关系。

您可以通过extra_regexp覆盖用户名的默认正则表达式,但我无法保证它可以正常工作,因为从模型中提取了正则表达式。

如果不是您最好的选择是定义自定义用户类并覆盖用户名(https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#substituting-a-custom-user-model

答案 1 :(得分:0)

一种方法是按照指定here编写自己的自定义用户类。

如果你不想这样做,这是一个更黑客的解决方案。字符限制在Django的User模型中强制执行,但不在数据库中强制执行 - 因此您也可以在username字段上禁用验证程序。假设User模型的序列化程序名为UserSerializer,请添加:

def init(self, *args, **kwargs):
        super(UserSerializer, self).__init__(*args, **kwargs)
        self.fields['username'].validators = []