在python3里面使用ueditor(基于adminx)
第一步,下载ueditor,在git上下载
直接download
: https://github.com/twz915/DjangoUeditor3/
然后放到任何一个文件夹里面
配置setting and urls
1 | INSTALLED_APPS = [<br> 'DjangoUeditor' ,<br>]<br><br> #在工程里面新建 media的文件上传目录<br>MEDIA_URL ='/media/'<br>MEDIA_ROOT = os.path.join(BASE_DIR, 'media') |
1 | #urls里面配置<br>from extra_apps.DjangoUeditor import urls as DjangoUeditor_urls<br><br>urlpatterns = [<br> path('ueditor/', include(DjangoUeditor_urls)),<br>] |
然后改app里面的model,
1 | text = UEditorField(verbose_name = '文本记录' ,width = 600 , height = 400 ,imagePath = 'user/ueditor/' ,filePath = 'user/ueditor/' ,default = '') |
然后在adminx.py里面写下调用类型
style_fields = {'text':'ueditor'}
然后在adminx的plugin写ueditor插件
1 | import xadmin<br> from xadmin.views import BaseAdminPlugin, CreateAdminView, ModelFormAdminView, UpdateAdminView<br> from DjangoUeditor.models import UEditorField<br> from DjangoUeditor.widgets import UEditorWidget<br> from django.conf import settings<br><br><br> class XadminUEditorWidget(UEditorWidget):<br> def __init__( self , * * kwargs):<br> self .ueditor_options = kwargs<br> self .Media.js = None <br> super (XadminUEditorWidget, self ).__init__(kwargs)<br><br> class UeditorPlugin(BaseAdminPlugin):<br><br> def get_field_style( self , attrs, db_field, style, * * kwargs):<br> if style = = 'ueditor' :<br> if isinstance (db_field, UEditorField):<br> widget = db_field.formfield().widget<br> param = {}<br> param.update(widget.ueditor_settings)<br> param.update(widget.attrs)<br> return { 'widget' : XadminUEditorWidget( * * param)}<br> return attrs<br><br> def block_extrahead( self , context, nodes):<br> js = '<script type="text/javascript" src="%s"></script>' % (settings.STATIC_URL + "ueditor/ueditor.config.js" ) #自己的静态目录<br> js += '<script type="text/javascript" src="%s"></script>' % (settings.STATIC_URL + "ueditor/ueditor.all.min.js") #自己的静态目录<br> nodes.append(js)<br><br>xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)<br>xadmin.site.register_plugin(UeditorPlugin, CreateAdminView) |
在plugins里面的_init_.py里面配置好 ueditor
1 | PLUGINS = (<br> 'ueditor' <br>) |
ok
如果不出意外,应该已经生效了。可以调用了
https://www.cnblogs.com/tiantianhappy/p/10286528.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构