Django URL Dispatcher与Unicode代码段不匹配

时间:2018-12-10 08:24:48

标签: django unicode

我目前正在尝试使用启用了unicode的插件处理请求。

即'127.0.0.1:8080/æøå/'适用于通用ListView:

path('<slug>/', ServiceList.as_view(), name='service-list'),

但在SQL查询中具有0个匹配项的DetailView上失败:

path('<slug>/', ServiceDetail.as_view(), name='service-detail'),

没有给出进一步的错误。我是否缺少请求和数据库(SQLite3)之间的某些Unicode转换?

2 个答案:

答案 0 :(得分:0)

添加第二条路径后,Django混淆了他应该去的地方。要解决它,您必须更改路径。 每个路径必须具有唯一的网址

答案 1 :(得分:0)

models.py中有一个错误。现在可以正常工作了。

之前:

def __init__(self, *args, **kwargs):
    super(Service, self).__init__(*args, **kwargs)
    self.slug = text.slugify(self.title, allow_unicode=True)

之后:

def save(self, *args, **kwargs):
    self.slug = text.slugify(self.title, allow_unicode=True)
    super(Service, self).save(*args, **kwargs)