Django模型中的choices使用和富文本的使用
使用choices时,先要定义选择的区间:
例如:
class Goods(models.Model):
status_choices = (
(0, '下线'),
(1, '上线'),
)
status = models.SmallIntegerField(default=1, choices=status_choices, verbose_name='商品状态')
富文本编辑器,就是网站编辑人员能够像使用office一样,编写出漂亮的,所见即所得的页面。
以tinymce为例:
安装,pip install tinymce==版本号
安装完成后,可以在Admin中使用,也可以在自定义的表单中使用。
1、在注册app里面加上:
INSTALLED_APPS = [
...,
'tinymce',#富文本编辑器
...,
...,
]
2、setting中添加
TINYMCE_DEFAULT_CONFIG = {
'theme':'advanced',
'width': 600,
'height': 400,
}
3、在项目中urls中添加配置项
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^tinymce/',include('tinymce.urls')),#用户模块
]
4、models中
from tinymce.models import HTMLField
class Goods(models.Model):
status_choices = (
(0, '下线'),
(1, '上线'),
)
status = models.SmallIntegerField(default=1, choices=status_choices, verbose_name='商品状态')
# 富文本类型:带有格式的文本
detail = HTMLField(blank=True, verbose_name='商品详情')
执行迁移,
在admin中
from app名.models import Goods
admin.site.register(Goods)
然后创建超级管理员,在对表中“商品详情”管理的时候就可以用富文本了。
存储的时候,商品详情字段里面含有html标签,在展示的时候关闭转义。
关于verbose_name :
class Meta:
db_table = 'df_goods'
verbose_name = '商品'
verbose_name_plural = verbose_name
显示的时候就会显示表名为商品。