使用带有API的i18n_pattern的问题

问题描述 投票:0回答:2

我有一个包含网站和API的应用。我已将网站翻译成第二种语言。目前主要的语言是英语,第二种是波斯语。我已经使用i18n_patterns中的urlpatterns在两种语言之间重定向。问题是使用API​​时,似乎Django重定向了我的请求,并且由于数据是使用POST发送的,因此它将丢弃所有数据,并使用GET给我一个空的结果。我尝试从urlpattern中取出API url,然后附加它来解决此问题,但这不起作用,因为我需要对Farsi的Unicode支持,并且因为这种方式没有i18n_patterns支持,所以我听不懂响应。这是Urlpattern:

urlpatterns = i18n_patterns(
    path('admin/', admin.site.urls),
    path('mainapp/', include('mainapp.urls')),
    path('', include('mainapp.urls')),
    prefix_default_language=True
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

urlpatterns.append(path('api/', include('mainapp.api.urls')))

有什么方法可以通过对应用程序进行最少的更改来解决此问题?任何帮助,建议或指导,将不胜感激。

编辑:谢谢。我更改了代码以重现该问题。我叫http://localhost:8000/api/scan/。如果我将path('api/', include('mainapp.api.urls'))添加到带有i18n_patterns的原始urlpattern中,并将请求发送到API,则request.POST的值为<QueryDict: {}>,否则应将key:value发送至后端。我环顾四周,似乎当您将i18n_patterns添加到urlpatterns中时,发生了重定向,并且由于HTTP不允许POST数据重定向,所以我得到一个空响应。

django url-pattern
2个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.