我正在创建django项目。 Django允许在auth.User模型中使用土耳其字符(ş,ü,ö,İ,ğ,ı,ç)。但我想在链接中使用用户名。例如,app.com /şüöİğıç。当我在计算机上处理某些链接(包含土耳其字符)时没有问题。当发布项目时是否有任何问题。我不能使用slugify,因为一个用户可以'şam'而一个用户可以'sam'。所以它可能是冲突。我想创建用户名验证器,只使用英文字母。我能怎么做?简而言之,在链接上使用土耳其字母时是否有任何问题(app.com/şüöİğıç),如果有问题我该如何解决这个问题。
forms.朋友:
class registerForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ["email","first_name","last_name","password","username"]
#model = ACCOUNTS
#fields=['email','name','surname','username','password','birthday','gender','language']
看看https://tools.ietf.org/html/rfc3987:
该文件定义了新的协议元素,即国际化资源标识符(IRI),作为统一资源标识符(URI)的补充。 IRI是通用字符集(Unicode / ISO 10646)中的字符序列。定义了从IRI到URI的映射,这意味着可以在适当的情况下使用IRI来代替URI来标识资源。
这解释了当您的字符超出ASCII范围时如何生成正确的URL。例如:http://www.w3.org/People/D%C3%BCrst/