choices选项与富文本编辑器与 verbose_name选项:django开发之天天生鲜项目知识总结【1】

本文详细介绍了如何在Django项目中集成富文本编辑器tinymce,包括安装配置、在Admin及自定义视图中使用的方法,以及数据库字段设置技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先来说一下: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/
  • 如图:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值