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客户端适当的转换编码格式,就是中文了,我怕后期有什么不确定的因素,导致客户端原来的编码格式显示出来的是乱码。目前测试是没问题。
Ce n'est pas bon. Il est plus approprié de renvoyer un dict.
{status: xxx, msg: xxx, data:xxx}
, appelez avec succès le paramètrehttp status = 200
, sinon revenez40x
,50x
selon la situation.De plus, en ce qui concerne l'interface
rest
, il est recommandé d'apprendre le framework de repos Django. Il y a un certain coût à apprendre, mais c'est très utile une fois que vous l'avez appris.Si vous écrivez du chinois directement dans le code source de Python, Python convertira l'encodage en encodage ANSI. Dans le système chinois simplifié, le code ANSI est GB2312. Si la page Web est codée en UTF8, elle peut être tronquée. Il est recommandé d'utiliser le codage Unicode.
Écrire comme ceci est très probable que le client reçoive des caractères tronqués
Vous pouvez le modifier comme ceci. Les statistiques utilisent Unicode
Utiliser python3 pour écrire le chinois dans le code ne pose aucun problème.
Utiliser Python. 2.7+, l'en-tête du fichier est le plus Il vaut mieux écrire
De cette façon, vous n'avez pas besoin de modifier le fichier,