• Django集合Ueditor


    语言版本环境:python3.6

    1、win安装步骤:

    1 git下载源码https://github.com/zhangfisher/DjangoUeditor

    2 解压DjangoUeditor3-master.tar

    3 cd C:UsersfjDesktopDjangoUeditor3-master

    4 python setup.py install 

    官方建议使用pip install DjangoUeditor ,但是我使用之后报错。故自己下载安装包,手动安装。大家可以先按官方建议。报错在进行手动安装

    2、settins.py配置

    INSTALLED_APPS中加入'DjangoUeditor'

    3、urls.py配置

    urlpatterns中加入url(r'^ueditor/',include('DjangoUeditor.urls' )),

    4、创建ueditor文件到plugins(xadmin后台)

     1 import xadmin
     2 from xadmin.views import BaseAdminPlugin, CreateAdminView, ModelFormAdminView, UpdateAdminView
     3 from DjangoUeditor.models import UEditorField
     4 from DjangoUeditor.widgets import UEditorWidget
     5 from django.conf import settings
     6 
     7 
     8 class XadminUEditorWidget(UEditorWidget):
     9     def __init__(self,**kwargs):
    10         self.ueditor_options=kwargs
    11         self.Media.js = None
    12         super(XadminUEditorWidget,self).__init__(kwargs)
    13 
    14 class UeditorPlugin(BaseAdminPlugin):
    15 
    16     def get_field_style(self, attrs, db_field, style, **kwargs):
    17         if style == 'ueditor':
    18             if isinstance(db_field, UEditorField):
    19                 widget = db_field.formfield().widget
    20                 param = {}
    21                 param.update(widget.ueditor_settings)
    22                 param.update(widget.attrs)
    23                 return {'widget': XadminUEditorWidget(**param)}
    24         return attrs
    25 
    26     def block_extrahead(self, context, nodes):
    27         js = '<script type="text/javascript" src="%s"></script>' % (settings.STATIC_URL + "ueditor/ueditor.config.js")         #自己的静态目录
    28         js += '<script type="text/javascript" src="%s"></script>' % (settings.STATIC_URL + "ueditor/ueditor.all.min.js")   #自己的静态目录
    29         nodes.append(js)
    30 
    31 xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)#修改页面
    32 xadmin.site.register_plugin(UeditorPlugin, CreateAdminView)#新增页面

    5、model修改内容

    1 from DjangoUeditor.models import UEditorField
    2 class Course(models.Model):
    3     desc = models.CharField(max_length=300,verbose_name=u'课程描述')
    4     #imagePath  图片存储路径
    5     detail = UEditorField(verbose_name = u'课程详情', width=600, height=300,  imagePath="courses/ueditor/",
    6                           filePath="courses/ueditor/", default='')

     7、配置xadmin/plugins中的init文件(必须添加,否则无法生效)

     在PLUGINS里面添加'ueditor'

    8、xadmin添加style_fields

     1 from .models import Course
     2 class CourseAdmin(object):
     3     list_display = ['name', 'desc', 'detail', 'degree','learn_times','studens','click_num','get_zj_nums','go_to']#后台显示哪些列
     4     search_fields = ['name', 'desc', 'detail', 'degree','studens']# 搜索,搜索中不能添加时间比较麻烦,放在过滤里面
     5     list_filter = ['name', 'desc', 'detail', 'degree','learn_times','studens']#过滤
     6     ordering = ('-click_num',)#显示排序
     7     readonly_fields = ['click_num']#只读 后台不可编辑
     8     exclude = ['fav_numbers']#隐藏字段  此字段与readonly_fields互斥
     9     inlines = [LessonInLine,CoursesResourceInLine]
    10     list_editable = ['degree','desc']#在后台列表页面有哪些字段可以修改
    11     refresh_times = [3,5] #对列表页定时刷新,3和5分别代表秒
    12     style_fields = {"detail":"ueditor"}#指明某个字段要使用ueditor
    13 xadmin.site.register(Course,CourseAdmin)

    9、前端页面调用

    1 {% autoescape off %}#关闭转义

    2 {{ course.detail }}

    3 {% endautoescape %} 

  • 相关阅读:
    struct/enum/union加typedef与不加typedef
    拷贝构造函数、拷贝运算符、析构函数
    TextQuery程序
    动态内存-动态数组
    动态内存
    动态内存
    matlab文件处理
    [leetcode]_Best Time to Buy and Sell Stock I && II
    [leetcode]_Valid Palindrome
    [leetcode]_Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/xb88/p/8213491.html
Copyright © 2020-2023  润新知