django中的第三方:富文本编辑器和itsdangerous加密

一、富文本编辑器
借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的、所见即所得的页面。此处以tinymce为例,其它富文本编辑器的使用也是类似的。
在虚拟环境中安装包。
pip install django-tinymce==2.6.0
安装完成后,可以使用在Admin管理中,也可以自定义表单使用。

示例

1)在test6/settings.py中为INSTALLED_APPS添加编辑器应用。
INSTALLED_APPS = (
  ...
  'tinymce',
)
2)在test6/settings.py中添加编辑器配置。
TINYMCE_DEFAULT_CONFIG = {
  'theme': 'advanced',
  'width': 600,  # 指定富文本框宽度
  'height': 400,  # 指定富文本框高度
}
3)在test6/urls.py中配置编辑器url。
urlpatterns = [
    ...
    re_path(r'^tinymce/', include('tinymce.urls')),
]
接下来介绍在Admin页面、自定义表单页面的使用方式。
1)在booktest/models.py中,定义模型的属性为HTMLField()类型。
from django.db import models
from tinymce.models import HTMLField
 
class GoodsInfo(models.Model):
  gcontent=HTMLField()
2)生成迁移文件。
python manage.py makemigrations
3)执行迁移。
python manage.py migrate
4)迁移完成,新开终端,连接mysql,使用test2数据库,查看表如下:
5)发现并没有表GoodsInfo,解决办法是删除迁移表中关于booktest应用的数据(原因是之前执行过迁移,django_migrations这个表中已经有了booktest应用的迁移记录。没有遇到过这种情况的请忽略)。
delete from django_migrations where app='booktest';
6)再次执行迁移。
python manage.py migrate
成功完成迁移,记得不删除no。
8)在booktest/admin.py中注册模型类GoodsInfo
from django.contrib import admin
from booktest.models import *
class GoodsInfoAdmin(admin.ModelAdmin):
    list_display = ['id']
 
admin.site.register(GoodsInfo,GoodsInfoAdmin)
9)运行服务器,进入admin后台管理,点击GoodsInfo的添加,效果如下图
在编辑器中编辑内容后保存。
 
二、itsdandangerous加解密
1.加密:
2.解密:
 
三、发送邮件(django自带):
1.在diango项目的settings.py中做如下配置:
2.定义视图或已有视图中使用:
 
posted @ 2020-05-10 20:26  组装梦想  阅读(309)  评论(0编辑  收藏  举报