如何在Django 2.0中用波斯语slug解码URL?

2024-04-24 09:04:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个档案视图,使用波斯语slug,比如:

چینیها-خورشید-مصنوعی-هم-ساختند

使用此url模式:

urlpatterns = [
    ...

    path('archive/<str:slug>/', views.ArchiveDetailView.as_view(),

    ...
]

你知道吗型号.py地址:

class Archive(models.Model):
    ...

    slug = models.SlugField(_('Slug'), max_length=128, unique=True, allow_unicode=True)

    ...

你知道吗视图.py地址:

class ArchiveDetailView(DetailView):
    model = Archive

    def get_object(self, queryset=None):
        slug = self.kwargs.get(self.slug_url_kwarg)
        return get_object_or_404(self.model, slug=slug)

在本地使用Django内置的web服务器可以很好地工作。但当我在我的主机上部署站点(cPanel)时,返回404错误(仅适用于波斯语slug)。你知道吗

我想我找到问题了,但我不知道怎么解决?你知道吗

问题是波斯语的slug、web服务器(Apache)或Django无法解码URL。你知道吗


Tags: djangopyself视图trueurlgetmodel