django使用包含土耳其字符的链接

问题描述 投票:0回答:1

我正在创建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']
django django-forms ascii domain-name django-validation
1个回答
0
投票

看看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/

© www.soinside.com 2019 - 2024. All rights reserved.