Persian slug в django Урлы на странице начинаются с адреса persian slug

Когда я использую persian slug для получения информации о своем посте, у меня возникает особая проблема...

на страницах с персидским slug урлы на странице начинаются с корректного адреса страницы, например, так :

на странице: example.com/سلام-دنیا Когда я нажимаю на кнопку SignUp вместо этого url: example.com/signUp это example.com/سلام-دنیا/signUp

с английским слизнем все в порядке и работает отлично

и все это происходит нормально на моем локалхосте, но на хосте cpanel возникает эта проблема.

my urls.py posts app :

from django import urls
from django.urls import path , re_path
from . import views

urlpatterns = [
    
    path('', views.posts ,  name='posts'),
    path('new_post/', views.new_post ,  name='new_post'),
   re_path(r'(?P<slug>[^/]+)/?$', views.post, name="post"),
]

в моем шаблоне:

<a class="btn btn-sm btn-outline-secondary" href="{%url "login"%}">عضویت/ورود</a>

функция my post в views.py в posts app:

import os
from uuid import uuid4
from django.shortcuts import render , redirect
from django.contrib import messages
from config import settings
from posts.forms import CommentForm, PostCreatorFrom
from .decorators import user_is_superuser
from posts.utils import paginatePosts, searchPosts
from .models import Category, Comment, Post
from django.core.paginator import Paginator
from django.views.decorators.csrf import csrf_exempt
from django.http import JsonResponse
from pathlib import Path
from urllib.parse import unquote
from django.views.decorators.http import require_POST
from django.utils.text import slugify
from django.utils.encoding import uri_to_iri


def post(request, slug):
    slug = uri_to_iri(slug)
    postObj = Post.objects.get(slug=slug)
    form = CommentForm()
    category = postObj.category
    related_posts = Post.objects.filter(category=category).exclude(slug=slug)[:3]
    

    return render(request, 'posts/post.html', {'post': postObj, 'form': form , 'related_posts':related_posts})

и моя модель

class Post(models.Model):
    title = models.CharField(max_length=500 , verbose_name="عنوان")
    slug = models.SlugField(unique=True , verbose_name="آدرس"  , allow_unicode=True  , db_collation='utf8_persian_ci')
<<<С наилучшими пожеланиями

Вернуться на верх