首页 > 解决方案 > 在 Django url 中使用阿拉伯字母会导致 404 错误

问题描述

我想在地址中使用阿拉伯字母,在本地模式下没有问题,但会导致服务器出错。

模型.py

class Product(models.Model):
    title = models.CharField(max_length=40, verbose_name='عنوان محصول')
    slug = models.SlugField(max_length=100,unique=True,allow_unicode=True, verbose_name='آدرس')

网址.py

urlpatterns = [
    path('detail/<str:slug>', ProductDetail.as_view(), name='product_detail')
]

视图.py

class ProductDetail(DetailView):
    model = Product
    template_name = 'product_app/product_detail.html'

标签: pythondjango

解决方案


如果您mysql用作数据库后端,则必须添加 utf8 unicode

create database mysite character set utf8mb4 collate utf8mb4_unicode_ci;

推荐阅读