django的restful部分给客户端提供接口,我在代码里写中文,有问题吗?

发布于 2022-09-03 09:08:48 字数 1225 浏览 14 评论 0

def share_to_user_api(request, repo, to_user, permission):
    """Share repo to a user with given permission.
    """
    repo_id = repo.id
    from_user = request.user.username

    if from_user == to_user:
        msg = ('%s 共享失败,不能共享给本用户')% to_user

        return msg

    if not is_registered_user(to_user):
        msg = ('%s 共享失败,该用户未注册') % to_user

        return msg

    try:
        if seafile_api.share_repo(repo_id, from_user, to_user, permission) == 2:
            msg = ('%s 共享失败,已共享') % to_user

            return msg
        else:
            seafile_api.share_repo(repo_id, from_user, to_user, permission)
    except SearpcError as e:
            logger.error(e)
            msg = ('%s 共享失败,请稍后重试') % to_user

            return msg
    else:
        # send a signal when sharing repo successful
        share_repo_to_user_successful.send(sender=None,
                                           from_user=from_user,
                                           to_user=to_user, repo=repo)
        msg = ('%s 共享成功') % to_user

        return msg

因为返回给客户端的信息直接提示给用户,综合考虑,提示由服务器返回比较合适,我这样写中文有其他的可能的问题出现吗?

qt客户端适当的转换编码格式,就是中文了,我怕后期有什么不确定的因素,导致客户端原来的编码格式显示出来的是乱码。目前测试是没问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谢绝鈎搭 2022-09-10 09:08:48

这样不太好。返回一个dict比较合适。{status: xxx, msg: xxx, data:xxx}, 成功调用设置http status = 200, 其它根据情况返回40x, 50x

另外,涉及到rest接口,建议学习 Django rest framework。学习有一定成本,但是学好了非常好用。

夏末的微笑 2022-09-10 09:08:48

如果在Python源码中直接写中文的话,Python会把编码转换为ANSI编码。 而简体中文系统下,ANSI编码是GB2312。如果网页是UTF8 编码的话有可能会乱码。建议使用unicode编码。


a = u'你好'
茶色山野 2022-09-10 09:08:48

这样写很有可能客户端收到的是乱码,
可以这样改,统计使用unicode
使用python3 在代码中写中文没问题,
使用python 2.7+ ,文件头最好写上

 #! -*- coding:utf-8 -*-
from __future__ import unicode_literals

这样文件就不用怎么改了,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文