django Candy translate用于翻译从www.example返回的数据 www.example.com 到javascript?

sshcrbum  于 2023-05-01  发布在  Go
关注(0)|答案(1)|浏览(138)
def mymethod(request):
    return_obj = {}
    if request.method == 'POST':
        info = request.POST
    try:
        ts_vals, coordinates, name = somefunction(params)
        return_obj["values"] = ts_vals
        return_obj["msg"] = candy.translated(request, "all_msg") # all_msg is from the excel

        return_obj["name"] = name
        return_obj["success"] = "success"
    except Exception as e:
        return_obj["error"] = candy.translated(request, "all_Error")
    return JsonResponse(return_obj)

我尝试了上面的过程。返回的JSON在我的JavaScript代码中被解析,并从JavaScript代码发送回接口。我们如何处理这种情况与糖果翻译?

hi3rlvi2

hi3rlvi21#

有两种方法可以使用CandyTranslate完成您需要的工作。第一个选项是使用 *candy。路径为您的可调用函数,然后candyLink调用正确的语言版本的函数第二个选项是使用模板和糖果中的{{lang}}变量。translated(lang,...)
------选项1:
views.py:

def test(request):
    import json
    from django.http import JsonResponse
    return_obj = {}
    return_obj["msg"] = candy.translated(request, "all_msg")    
    return JsonResponse(return_obj)

urls.py:

*candy.path('test', views.test, name='test'),

您的模板:

<button onclick="getData()">TEST</button>
            <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
            <script>
                function getData() {
                    $.ajax({
                        url: '{% url candyLink.test %}',
                        success: function(data) {
                            console.log(data);
                        }
                    });
                }
            </script>

------选项2:
views.py:

def test(request,lang):
    import json
    from django.http import JsonResponse
    return_obj = {}
    return_obj["msg"] = candy.translated(lang , "all_msg")    
    return JsonResponse(return_obj)

urls.py:

path('test/<lang>', views.test, name='test'),

您的模板:

<button onclick="getData()">TEST</button>
            <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
            <script>
                function getData() {
                    $.ajax({
                        url: '{% url 'test' lang%}',
                        success: function(data) {
                            console.log(data);
                        }
                    });
                }
            </script>

相关问题