Django:表单字段如何在模板中用中文显示
在处理中文显示的时候,刚开始接触django时,很容易弄混表单汉化和Admin后台汉化。
1、表单汉化:是针对用户的。用户浏览网页时,表单的名称如果是英文的,不够友好,所以需要显示为中文,虽然代码编写还是英文。
2、Admin后台汉化:是针对网站管理员的。因为Admin后台是数据库直接注册的,所以要想汉化后台内容,其实是对数据库(如字段名)操作的。2种汉化的对象不一样。
表单汉化:分2种情况
1、普通表单:即继承自forms.Form。这种类型的表单,中文显示主要用label属性来实现。
class ProductForm(forms.Form):
name = forms.CharField(max_length=20, label="名字",widget=forms.widgets.TextInput(
attrs={"class":"c1"}),
error_messages={'required':'名字不能为空'}
)
weight = forms.CharField(max_length=50, label='重量', validators=[weight_validate])
size = forms.CharField(max_length=50, label='尺寸')
choice_list = [(i+1, v['type_name']) for i,v in enumerate(Type.objects.values('type_name'))]
type = forms.ChoiceField(widget=forms.widgets.Select(
attrs={'class':type, 'size':'4'}
), choices=choice_list, label='产品类型')
2、数据表单:即继承自forms.ModelForm。这种类型的表单,主要通过class Meta:中的labels实现。
class ProductModeForm(forms.ModelForm):
productId = forms.CharField(max_length=20, label='产品序号') #新建字段,用label。
class Meta:
model = Product
fields = '__all__'
exclude = []
labels = { #实现字段名汉化。
'name': '产品名称',
'weight': '重量',
'size':'尺寸',
'type': '产品类型',
}
widgets = {
'name':forms.widgets.TextInput(attrs={'class':'c1'}),
}
field_classes = {
'name': forms.CharField
}
error_messages = {
'__all__': {
'required': '请输入内容',
'invalid': '请检查输入内容'
},
'weight': {
'required': '请输入重量数值',
'invalid': '请检查数值是否正确'
}
}
def clean_weight(self):
data = self.cleaned_data['weight']
return data+'g'
Django:表单字段如何在模板中用中文显示的更多相关文章
- Django表单字段汇总
Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的.每个Field的实例都有一个cle ...
- 第四章:Django表单 - 3:Django表单字段汇总
Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的.每个Field的实例都有一个cle ...
- 如何设置织梦cms自定义表单字段为必填项
1.编辑器打开\plus\diy.php2.在40行左右找到此行代码:$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);3.在这 ...
- 嵌入式表单字段中的内容可能被server更改以删除不安全的内容。是否要又一次载入您的页面以查看保存结果?
嵌入式表单字段中的内容可能被server更改以删除不安全的内容.是否要又一次载入您的页面以查看保存结果? 近期有朋友问到,当他在SharePoint首页上进行编辑时.插入一段代码. 完 ...
- Spring Boot 2 + Thymeleaf:表单字段绑定、表单提交处理
Spring Boot中Thymeleaf对表单处理的一些用法:(1)使用th:field属性:进行表单字段绑定(2)使用ids对象:一般用于lable配合radio或checkbox使用(3)表单提 ...
- HTML 表单 存为EXCEL文件时 中文显示乱码
在做宣传品发放系统时,需求要把数据库查询的记录生成表单并转存excel文件. 在转存的EXCEL文件中文显示乱码,表格和其他字符正常,检查后发现是创建EXCEL文件打开模式不对 之前: myfile ...
- Django之表单字段的选填与后台界面的管理
参考: http://www.crazyant.net/1005.html http://gmingzhe.blog.51cto.com/810664/163051 所有的字段,默认blank=Fal ...
- 视图模板中 使用boottstrap 将各表单字段排成一行
如果需要创建一个表单,它的所有元素是内联的,向左对齐的,标签是并排的,请向 <form> 标签添加 class .form-inline. <form class="for ...
- Django 表单校验 表单字段设置 自定义表单校验规则
今天看到了一篇非常好的博文,拿来和大家分享一下. 内容包括了: 用户注册时输入数据的校验 使用widget进行字段设置 实现自定义的校验规则 参考自下面的这篇文章
随机推荐
- okhttp3带cookie请求
Request经常都要携带Cookie,上面说过request创建时可以通过header设置参数,Cookie也是参数之一.就像下面这样: Request request = new Request. ...
- Django基本设置
Dango设置流程图片示例: 设置路由时需要注意的一个点是:Django中定义路由时,通常习惯以斜线 / 结尾 其他常用命令: python manage.py runserver 0.0.0.0:8 ...
- Sqlite 语句 记录
//string ComId = "select Max(ComId) AS ComId from Card order by ComId ";//位数一样可以直接MAx stri ...
- 用UIControl封装Button
用UIControl封装Button 效果 说明 UIControl在处理超出触摸范围的触摸事件时有bug 源码 基础类 // // BaseControl.h // BaseControl // / ...
- Ubuntu Linux 14.04 LTS 上安装php7+mysql+nginx
输入 $ sudo apt-get install -y language-pack-en-base$ sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:o ...
- 发现微信支付bug
第一张银行卡支付金额不足无法付款,选择另一张同样密码的银行卡,居然不用重新输入密码即可直接付款成功!
- 原生 JS 的 Base64 转码
JavaScript 原生提供两个 Base64 相关的方法: btoa():任意值转为 Base64 编码 atob():Base64 编码转为原来的值 注意:这两个方法不适合非 ASCII 码的字 ...
- 如何检查oracle的归档空间是否满了
如何检查oracle的归档空间是否满了 关于如何检查归档空间是否慢了,大多数人会去先检查放归档的目录的磁盘空间是否满了,通过该归档目录空余情况来判断归档空间是否满了,但我觉得这个方法不一定代表实际 ...
- 在.NET中操作数字证书(新手教程)
.NET为我们提供了操作数字证书的两个主要的类,分为为: System.Security.Cryptography.X509Certificates.X509Certificate2类, 每个这个类的 ...
- 【从源代码看Android】02MessageQueue的epoll原型
版权声明:本文为博主原创文章,欢迎转载.请注明原文链接 https://blog.csdn.net/ashqal/article/details/31772697 1 开头 上一讲讲到Looper,大 ...