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')
<<<С наилучшими пожеланиями