У меня есть архивное представление, которое использует персидский слаг, например:
چینیها-خورشید-مصنوعی-هم-ساختند
с этим шаблоном URL:
urlpatterns = [
...
path('archive/<str:slug>/', views.ArchiveDetailView.as_view(),
...
]
models.py:
class Archive(models.Model):
...
slug = models.SlugField(_('Slug'), max_length=128, unique=True, allow_unicode=True)
...
views.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.Но при развертывании сайта на моем хосте (cPanel) возвращается ошибка 404 (только для персидского слизняка).
Мне кажется, я нахожу проблему, но не знаю, как ее исправить?
Проблема в том, что slug на персидском, веб-сервере (Apache) или Django не может декодировать URL.