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客户端适当的转换编码格式,就是中文了,我怕后期有什么不确定的因素,导致客户端原来的编码格式显示出来的是乱码。目前测试是没问题。
大家讲道理2017-04-18 09:18:16
이건 좋지 않습니다. dict를 반환하는 것이 더 적절합니다. {status: xxx, msg: xxx, data:xxx}
, http status = 200
설정을 성공적으로 호출하고, 그렇지 않으면 상황에 따라 40x
, 50x
을 반환합니다.
추가로 rest
인터페이스에 관해서는 Django Rest Framework를 익히는 것이 좋습니다. 익히는 데는 일정한 비용이 들지만, 일단 배우면 매우 유용합니다.
天蓬老师2017-04-18 09:18:16
Python 소스 코드에 중국어를 직접 작성하면 Python이 인코딩을 ANSI 인코딩으로 변환합니다. 중국어 간체 시스템에서 ANSI 코드는 GB2312입니다. 웹페이지가 UTF8로 인코딩된 경우 깨질 수 있습니다. 유니코드 인코딩을 사용하는 것이 좋습니다.
으아악阿神2017-04-18 09:18:16
이렇게 작성하면 클라이언트가 잘못된 문자를 수신할 가능성이 높습니다.
이렇게 변경할 수 있습니다. 통계에서는 유니코드를 사용합니다
python3을 사용하여 코드에 중국어를 작성하는 것은 문제가 없습니다. 2.7+는 파일헤더가 제일많아요
로 쓰는게 낫습니다
으아악