问教一个 Django 的 max_length 问题

2014-04-06 21:04:56 +08:00
 lichifeng
最近在学习Django,自己在看官方文档写个forum程序

对CharField中的max_length很不解

Django中的max_length似乎是指字符的个数?

比如我设定max_length=4,那我在admin后台中最多可以输入4个英文字符
也可以输入4个中文字符

别外Django模板中的truncatechars过滤器也是这样

像{{ value|truncatechars:9 }}就会限制在9个英文字符,中文也是9个

问题是:

我希望设定的是最大的字节(?)不是字符的个数

例如最大可以是4个中文或8个英文字符这种

不知道问题出在哪里?应该如何着手?

谢谢。
7848 次点击
所在节点    Python
3 条回复
RIcter
2014-04-06 21:07:55 +08:00
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> a=u'啊'
>>> len(a)
1
>>> a='啊'
>>> len(a)
2
>>>


不谢= =!
mengzhuo
2014-04-06 22:44:55 +08:00
max_length转换成MYSQL是varchar,这个是按字符数计算的,你希望的效果只能自己写filter了
lichifeng
2014-04-07 07:54:01 +08:00
@RIcter 很有帮助 感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/107454

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX