Django集成CKEditor 6.1出现exportpdf-no-token-url错误,请求禁用PDF导出功能的解决方案
解决Django CKEditor的exportpdf-no-token-url错误并修复表单提交问题
嘿,别慌!我帮你一步步搞定这两个问题——先解决那个烦人的PDF导出错误,再把表单提交的问题修好,毕竟这是你的期末项目嘛😉
第一步:禁用CKEditor的PDF导出插件(解决控制台错误)
你遇到的exportpdf-no-token-url错误,是因为CKEditor默认加载了PDF导出插件,但这个插件需要配置token URL,而你根本不需要这个功能。最简单的办法就是直接把这个插件移除:
修改你的settings.py里的CKEDITOR_CONFIGS,添加removePlugins参数:
CKEDITOR_CONFIGS = { 'default': { 'height': 800, 'width': 1000, # 直接移除PDF导出插件,彻底解决错误 'removePlugins': 'exportpdf', }, }
保存后重启Django服务,再刷新前端页面,那个控制台错误应该就消失了。
第二步:修复表单提交功能
你的表单提交不工作,主要是views.py里的逻辑有问题,还有前端的提交按钮写法不对。咱们一步步改:
1. 修正views.py的表单处理逻辑
现在你的write_post函数不管GET还是POST都直接用request.POST初始化表单,这会导致GET请求时表单状态异常,而且完全没处理提交后的保存逻辑。改成这样:
from django.shortcuts import redirect, render from .forms import Post_Form def write_post(request): if request.method == 'POST': # POST请求时,要传入request.FILES(因为你用了RichTextUploadingField,支持文件上传) form = Post_Form(request.POST, request.FILES) if form.is_valid(): # 先不直接保存,因为要关联当前登录的用户 article = form.save(commit=False) article.user = request.user # 把当前用户绑定到文章的user字段 article.save() # 保存成功后重定向到你想展示的页面,比如文章列表页(记得替换成你自己的URL名称) return redirect('article_list') else: # GET请求时,初始化一个空表单 form = Post_Form() return render(request, 'write_post.html', { 'form': form, })
2. 修正前端的提交按钮
你现在用的是<div type=submit>,div标签根本没有type=submit的属性,点击它不会触发表单提交!改成标准的button标签:
<form action="" method="POST" enctype="multipart/form-data"> {% csrf_token %} {{ form.media }} {{ form.as_p }} <!-- 把div改成button,type设为submit --> <button type="submit" class="btn btn-info">Submit</button> </form>
(可选但推荐)确保CKEditor编辑器正确渲染
你的forms.py里给body字段用了普通的Textarea widget,虽然可能现在能显示CKEditor,但最好直接指定CKEditor的上传widget,避免潜在冲突:
from django.forms import TextInput from ckeditor_uploader.widgets import CKEditorUploadingWidget from .models import Article class Post_Form(ModelForm): class Meta: model = Article exclude = ['user'] widgets = { 'title': TextInput(attrs={'class': 'form-control', 'id': 'title' }), # 替换成CKEditor的上传widget 'body': CKEditorUploadingWidget(), }
做完这些步骤后,重启Django服务,再测试一下:前端页面不会再出现PDF导出的错误,点击Submit按钮也能正常保存文章啦!
内容的提问来源于stack exchange,提问作者yến nhi nguyễn
相关产品推荐
相关产品推荐

