cari

Rumah  >  Soal Jawab  >  teks badan

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

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

黄舟黄舟2809 hari yang lalu682

membalas semua(3)saya akan balas

  • 大家讲道理

    大家讲道理2017-04-18 09:18:16

    Ini tidak bagus. Adalah lebih sesuai untuk mengembalikan dict. {status: xxx, msg: xxx, data:xxx}, berjaya memanggil tetapan http status = 200, jika tidak, kembalikan 40x, 50x mengikut situasi.

    Selain itu, apabila ia berkaitan dengan antara muka rest, adalah disyorkan untuk mempelajari rangka kerja rehat Django. Terdapat kos tertentu untuk belajar, tetapi ia sangat berguna apabila anda mempelajarinya.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:18:16

    Jika anda menulis bahasa Cina terus dalam kod sumber Python, Python akan menukar pengekodan kepada pengekodan ANSI. Di bawah sistem Cina Ringkas, kod ANSI ialah GB2312. Jika halaman web dikodkan UTF8, ia mungkin bercelaru. Adalah disyorkan untuk menggunakan pengekodan unicode.

    
    a = u'你好'
    

    balas
    0
  • 阿神

    阿神2017-04-18 09:18:16

    Menulis seperti ini berkemungkinan besar bahawa pelanggan akan menerima aksara yang bercelaru
    Anda boleh menukarnya seperti ini menggunakan unicode
    Menggunakan python3 untuk menulis bahasa Cina dalam kod tidak menjadi masalah 2.7+, pengepala fail adalah yang paling Baik untuk menulis

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

    Dengan cara ini anda tidak perlu menukar fail,

    balas
    0
  • Batalbalas