python - django的restful部分给客户端提供接口,我在代码里写中文,有问题吗?
黄舟
黄舟 2017-04-18 09:16:16
0
3
659
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客户端适当的转换编码格式,就是中文了,我怕后期有什么不确定的因素,导致客户端原来的编码格式显示出来的是乱码。目前测试是没问题。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답(3)
大家讲道理

이건 좋지 않습니다. dict를 반환하는 것이 더 적절합니다. {status: xxx, msg: xxx, data:xxx}, http status = 200 설정을 성공적으로 호출하고, 그렇지 않으면 상황에 따라 40x, 50x을 반환합니다.

추가로 rest 인터페이스에 관해서는 Django Rest Framework를 익히는 것이 좋습니다. 익히는 데는 일정한 비용이 들지만, 일단 배우면 매우 유용합니다.

Peter_Zhu

Python 소스 코드에 중국어를 직접 작성하면 Python이 인코딩을 ANSI 인코딩으로 변환합니다. 중국어 간체 시스템에서 ANSI 코드는 GB2312입니다. 웹페이지가 UTF8로 인코딩된 경우 깨질 수 있습니다. 유니코드 인코딩을 사용하는 것이 좋습니다.

으아악
阿神

이렇게 작성하면 클라이언트가 잘못된 문자를 수신할 가능성이 높습니다.
이렇게 변경할 수 있습니다. 통계에서는 유니코드를 사용합니다
python3을 사용하여 코드에 중국어를 작성하는 것은 문제가 없습니다. 2.7+는 파일헤더가 제일많아요
로 쓰는게 낫습니다 으아악

이렇게 하면 파일을 변경할 필요가 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿