Обратный URL от слизни с персидским или арабским языком c в Django - PullRequest
1 голос
/ 24 февраля 2020

Привет я хочу, чтобы изменить URL-адрес из слаг в модели у меня есть слаг:

slug = models.SlugField(max_length=200, unique=True, allow_unicode=True)

и для получения абсолютного URL:

def get_absolute_url(self):
            return reverse('shop:product_list_by_category', args=[self.slug])

и в settings.urls:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('shop.urls', namespace='shop')),
]

и в shop.urls:

app_name = 'shop'
urlpatterns = [
    path('', views.product_list, name='product_list'),
    path('<slug:category_slug>/', views.product_list, name='product_list_by_category'),
    path('<int:id>/<slug:slug>/', views.product_detail, name='product_detail'),
]

, и значение для моего слага:

slug="گالری-شلوار"

Теперь я получаю ошибку:

Reverse for 'product_list_by_category' with arguments '('گالری-شلوار',)' not found. 1 pattern(s) tried: ['(?P[-a-zA-Z0-9_]+)/$']

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Для арабских букв c необходимо открыть URL-кодировщик. Вы можете сделать это, добавив этот код в ваш settings.py файл

ALLOW_UNICODE_SLUGS = True
0 голосов
/ 24 февраля 2020

Чтобы перевернуть что-либо, вы должны сначала сделать его строкой на

Теперь мы можем перевернуть строку

x = 'Hello World!'
for i in x:
    x = x[::-1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...