django xadmin后台集成DjangoUeditor

安装和配置xadmin

1. 安装(注意区分版本)

  • python2.x

    pip install xadmin  
  • python3.x

    # 方式1
    pip install git+git://github.com/sshwsfc/xadmin.git
    
    # 方式2
    下载https://codeload.github.com/sshwsfc/xadmin/zip/master,解压并进入目录下,直接python setup.py install
    

2. 配置

1. 将xadmin添加到settings.py应用列表

INSTALLED_APPS = [
        .....
    # 需要添加以下两个app
    ‘xadmin‘,
    ‘crispy_forms‘,
]

2. 修改项目中urls.py

import xadmin
urlpatterns = [
    # url(r‘^admin/‘, admin.site.urls),
    url(r‘^xadmin/‘, xadmin.site.urls),
]

3. 在models.py中增加模型类

from django.db import models

class Article(models.Model):
    """ 文章表"""
    title = models.CharField(max_length=64, verbose_name=‘标题‘)
    author = models.CharField(max_length=32,verbose_name=‘作者‘, default=‘halo‘)
    content = models.TextField(verbose_name=‘内容‘)
    create_time = models.DateField(auto_now_add=True, editable=True,verbose_name=‘创建时间‘)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural = ‘文章表‘

4. 在应用下新建adminx.py,用来注册模型

import xadmin
from .models import *

class ArticleAdmin(object):
    list_display = (‘title‘, ‘author‘,  ‘create_time‘)

xadmin.site.register(Article, ArticleAdmin)

5. 数据迁移

python manage.py makemigrations
python manage.py migrate

6. 创建用户

python manager.py createsuperuser

7.启动服务并访问

python manage.py runserver 8000

输入用户名和密码登录成功后如下所示:

DjangoUeditor安装和配置

1.安装

# python2.x
下载https://codeload.github.com/zhangfisher/DjangoUeditor/zip/master下的源码包,用命令python setup.py install

# python3.x
下载https://codeload.github.com/twz915/DjangoUeditor3/zip/master下的源码包,用命令python setup.py install

2.配置

1. 将DjangoUeditor添加到settings.py应用列表

INSTALLED_APPS = (
          #........
        ‘DjangoUeditor‘,
    )

2.setting.py的其他配置

UEDITOR_SETTINGS={
    "config":{
        "toolbars":[[‘source‘,‘undo‘,‘redo‘,‘bold‘,‘italic‘,‘underline‘,‘forecolor‘,‘backcolor‘,
                     ‘superscript‘,‘subscript‘,‘justifyleft‘,‘justifycenter‘,‘justifyright‘,‘insertorderedlist‘,
                     ‘insertunorderedlist‘,‘blockquote‘,‘formatmatch‘,‘removeformat‘,‘autotypeset‘,‘inserttable‘,
                     ‘pasteplain‘,‘wordimage‘,‘searchreplace‘,‘map‘,‘preview‘,‘fullscreen‘],
                    [‘insertcode‘,‘paragraph‘,‘fontfamily‘,‘fontsize‘,‘link‘,‘unlink‘,‘simpleupload‘,‘insertvideo‘,
                     ‘attachment‘,‘emotion‘,‘date‘,‘time‘]]
    },
}

3.配置url

from django.conf.urls.static import static
from django.conf import settings
    url(r‘^ueditor/‘, include(‘DjangoUeditor.urls‘)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

4.配置adminx.py

import xadmin
from .models import Article

class ArticleAdmin(object):
    list_display = (‘title‘, ‘author‘, ‘tg‘, ‘create_time‘)
    style_fields = {"content": "ueditor"}     # 新增加

xadmin.site.register(Article, ArticleAdmin)

5.配置xadmin:在xadmin/plugins下新建ueditor.py

import xadmin
from xadmin.views import BaseAdminPlugin, CreateAdminView, ModelFormAdminView, UpdateAdminView
from DjangoUeditor.models import UEditorField
from DjangoUeditor.widgets import UEditorWidget
from django.conf import settings

class XadminUEditorWidget(UEditorWidget):
    def __init__(self,**kwargs):
        self.ueditor_options=kwargs
        self.Media.js = None
        super(XadminUEditorWidget,self).__init__(kwargs)

class UeditorPlugin(BaseAdminPlugin):

    def get_field_style(self, attrs, db_field, style, **kwargs):
        if style == ‘ueditor‘:
            if isinstance(db_field, UEditorField):
                widget = db_field.formfield().widget
                param = {}
                param.update(widget.ueditor_settings)
                param.update(widget.attrs)
                return {‘widget‘: XadminUEditorWidget(**param)}
        return attrs

    def block_extrahead(self, context, nodes):
        js = ‘<script type="text/javascript" src="%s"></script>‘ % (settings.STATIC_URL + "ueditor/ueditor.config.js")  # 自己的静态目录
        js += ‘<script type="text/javascript" src="%s"></script>‘ % (settings.STATIC_URL + "ueditor/ueditor.all.js")  # 自己的静态目录
        nodes.append(js)

xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)
xadmin.site.register_plugin(UeditorPlugin, CreateAdminView)

6.在xadmin/plugins/__init__.py添加ueditor

‘ueditor‘

7.在models下添加ueditor项

from DjangoUeditor.models import UEditorField

class Article(models.Model):
    """ 文章表"""
    title = models.CharField(max_length=64, verbose_name=‘标题‘)
    author = models.CharField(max_length=32,verbose_name=‘作者‘, default=‘halo‘)
    # content = models.TextField(verbose_name=‘内容‘)
    content = UEditorField(verbose_name=‘内容‘,
                           height=500,
                           width=800,
                           default=u‘‘,
                           imagePath="ueditor/image/",
                           toolbars=‘full‘,
                           filePath=‘ueditor/files/‘,
                           upload_settings={"imageMaxSize": 1204000},
                           settings={},
                           command=None, )
    create_time = models.DateField(auto_now_add=True, editable=True,verbose_name=‘创建时间‘)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural = ‘文章表‘

8.页面中显示富文本

{% autoescape off %}
{{ item.content }}
{% endautoescape %}

  

原文地址:https://www.cnblogs.com/yzls/p/9593939.html

时间: 2024-10-16 23:27:11

django xadmin后台集成DjangoUeditor的相关文章

在Django Xadmin中集成Ueditor

Ueditor是由百度开发的一个开源的富文本编辑器,有人做了一个将其集成到Django中的方案(请戳),但是在xadmin中却无法正常加载编辑器. 其使用了一个模板用来呈现Ueditor的编辑界面 <textarea name={{ UEditor.name }} id=id_{{ UEditor.name }} style="display:inline-block;width:{{ UEditor.width }}px; {{ UEditor.css }}">{{UEd

Django中在xadmin中集成DjangoUeditor

python版本:3.6 django:1.10.8 1.下载xadmin https://github.com/sshwsfc/xadmin 下载DjangoUeditor https://github.com/twz915/DjangoUeditor3 2.直接将xadmin和DjangoUeditor集成在pycharm里,在项目下新建一个文件夹extra_apps,将与xadmin.DjangoUeditor的同名文件复制在extra_apps下 3.在settings.py里注册Dja

第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框

第三百九十四节,Django+Xadmin打造上线标准的在线教育平台-Xadmin集成富文本框 首先安装Django Ueditor1.8.143模块 下载地址 https://pypi.python.org/pypi/DjangoUeditor/1.8.143 下载后  python setup.py install  安装 安装好后在settings.py将DjangoUeditor添加到app INSTALLED_APPS = [ 'django.contrib.admin', 'djan

第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

第三百八十节,Django+Xadmin打造上线标准的在线教育平台-将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点:xadmin的数据表注册,是到app下查找的adminx文件,所以我们必须在app下创建一个adminx.py文件,所有关于数据表注册到xadmin后台的代码都是写在adminx.py文件里 adminx.py文件编写 1.自定义一个类来继承object对象,这个类叫做数据表管理器 数据表管理器里

django,访问xadmin后台报错Exception Value: (1146, &quot;Table &#39;django.xadmin_usersettings&#39; doesn&#39;t exist&quot;)

报错如图: 解决,执行迁移表命令: python manage.py makemigrations python manage.py migrate 生成xadmin数据库表之后再去访问: 如图: 访问成功: django,访问xadmin后台报错Exception Value: (1146, "Table 'django.xadmin_usersettings' doesn't exist") 原文地址:https://www.cnblogs.com/xiamaojjie/p/125

Django xadmin的使用

Django  xadmin的使用 xadmin是django的一个第三方的管理后台实现,它的功能比自带的admin功能更加强大. xadmin项目在github上的地址为:https://github.com/sshwsfc/xadmin xadmin相关文档可以在这里查看:https://xadmin.readthedocs.io/en/latest/quickstart.html 这里简要总结下自己集成xadmin的方法,我使用的是django1.10和python3.52,xadmin是

Django+Xadmin打造在线教育系统(三)

完成登录 注册 找回密码 激活 验证码集成 将HTML文件拷贝到templates目录下,css,js,img,media,images文件夹拷贝到static文件夹下 修改index.html和login.html文件中的静态文件路径,全部替换为如下格式 <link rel="stylesheet" type="text/css" href="{% static "css/reset.css" %}"> <

第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装

第三百七十九节,Django+Xadmin打造上线标准的在线教育平台-xadmin的安装 xadmin介绍 xadmin是基于Django的admin开发的更完善的后台管理系统

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台-网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件,包括ccs,js,网站样式图片 上传资源是用户操作上传的图片等资源 上传资源的配置 1,首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2,settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源