首先来说一下:verbose_name
class xxx():
...
class Meta:
db_table = 'df_goods_test'
verbose_name = '商品'
verbose_name_plural = verbose_name
就是使后台管理那里显示中文:
再来说富文本编辑器:
借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的、所见即所得的页面。此处以tinymce为例,其它富文本编辑器的使用也是类似的。
- 首先,在虚拟环境中安装包:
#因为我的django版本比较低,所以就直接指定一个低版本的安装包。另外指定下载源,可以使下载速度飞快!
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-tinymce==2.6.0
- 下面需要注册一下应用,在settings.py里面
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tinymce', # 富文本编辑器
'user', # 用户模块
'goods', # 商品模块
'cart', # 购物车模块
'order', # 订单模块
)
- 下面还是在settings.py 里面配置富文本编辑器
# 富文本编辑器的配置,不需要记忆,复制粘贴就行
TINYMCE_DEFAULT_CONFIG = {
'theme': 'advanced', # theme 主题 ,advanced 高级
'width': 600, # 指定宽
'height':400, # 指定高
}
- 接着,在 urls.py 中配置编辑器url。
urlpatterns = [
...
url(r'^tinymce/', include('tinymce.urls')),
]
下面介绍两种使用情况:
- (1)在Admin中使用
- 方法很简单,导入相应模块,然后就可以向django自带的字段类型一样去使用了
from django.db import models
from tinymce.models import HTMLField # 导入富文本类型
# 瞎买你随便定义一个模型类
class GoodsTest(models.Model):
'''测试模型类'''
#这里再写上一个choices选项,等下讲解。
STATUS_CHOICES = (
(0, '下架'),
(1, '上架')
)
status = models.SmallIntegerField(default=1, choices=STATUS_CHOICES, verbose_name='商品状态')
detail = HTMLField(verbose_name='商品详情')
class Meta:
db_table = 'df_goods_test'
verbose_name = '商品'
verbose_name_plural = verbose_name
- 接着注册 接着在
在这里插入代码片
admin.py中注册我们的模型类。
from django.contrib import admin
from booktest.models import GoodsTest
# Register your models here.
admin.site.register(GoodsTest)
-
接着创建一个超级管理员,进入django后台管理(这里省略)
-
接着进去,点击增加信息,就可以看到
-
当你在富文本中增加信息的时候,数据库中保存的是 html格式数据,你可以必要时关闭转义。
*(2)下面说说,在自定义中使用:- 1)在views.py中定义视图editor,用于显示编辑器。
def editor(request):
return render(request, 'booktest/editor.html')
- 2)在booktest/urls.py中配置url。
url(r'^editor/',views.editor),
- 3)在项目目录下创建静态文件目录如下图:
- 4)打开py_django虚拟环境的目录,找到tinymce的目录。
/home/python/.virtualenvs/py_django/lib/python3.5/site-packages/tinymce/static/tiny_mce
- 5)拷贝tiny_mce_src.js文件、langs文件夹以及themes文件夹拷贝到项目目录下的static/js/目录下。
- 6)在test6/settings.py中配置静态文件查找路径。
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static'),
]
- 7)在templates/booktest/目录下创建editor.html模板。
<html>
<head>
<title>自定义使用tinymce</title>
<script type="text/javascript" src='/static/js/tiny_mce.js'></script>
<script type="text/javascript">
tinyMCE.init({
'mode':'textareas',
'theme':'advanced',
'width':400,
'height':100
});
</script>
</head>
<body>
<form method="post" action="#">
<textarea name='gcontent'>哈哈哈哈哈哈</textarea>
</form>
</body>
</html>
- 8)运行服务器,在浏览器中输入如下网址:
http://127.0.0.1:8000/editor/
- 如图: