django 按钮的样式_Django建站历程:CKEditor的配置使用

news/2024/5/10 3:33:06/文章来源:https://blog.csdn.net/weixin_39702639/article/details/111655739

83d59bf353b7a7633bca0a5b14aefb03.png

Django建站历程:CKEditor的配置使用

1、安装django-ckeditor

pip install django-ckeditor

2、全局settings.py添加APP

需要添加 'ckeditor', 'ckeditor_uploader' 两个APP。

# Application definition
​
INSTALLED_APPS = ['ckeditor','ckeditor_uploader'
]

3、指定CKEditor文件上传保存路径

在全局settings下添加,这里我加到了MEDIA路径之后:

# 媒体文件
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
​
CKEDITOR_UPLOAD_PATH = 'ckeditor_upload'

CHEDITOR_UPLOAD_PATH的作用是设定你通过ckeditor所上传的文件的存放目录。需要注意的是,这是一个相对路径,它相对与你设置的的MEDIA_ROOT。也就是文件会被上传到media/ckeditor_upload 路径下。

4、添加CKEditor全局路由

在全局urls.py文件中添加路由:

urlpatterns = [path('ckeditor/', include('ckeditor_uploader.urls')),
] 

5、修改model属性字段

之前的文章内容是用的TextField,这里我们修改为 RichTextUploadingField

from ckeditor_uploader.fields import RichTextUploadingField
​
body = RichTextUploadingField(verbose_name='内容', default='请输入文章内容....')

6、同步数据库

修改完model属性字段后,最后一步就是同步数据库咯。

python manage.py makemigrations
python manage.py migrate

此时,运行服务器打开后台管理点击新增文章,可以发现文章内容的编辑框已经成了富文本编辑,但是貌似工具栏按钮不是很全?在项目的全局setting里添加配置:

# ckeditor
CKEDITOR_CONFIGS = {'default': {'skin': 'moono-lisa','toolbar_Basic': [['Source', '-', 'Bold', 'Italic']],'toolbar_Full': [[ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ],[ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ],
​[ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ],[ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ],'/',[ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ],[ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv', '-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ],[ 'Link','Unlink','Anchor' ],[ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ],'/',[ 'Styles','Format','Font','FontSize' ] ,[ 'TextColor','BGColor' ] ,[ 'Maximize', 'ShowBlocks','-','About' ] ,
​],'toolbar': 'Full',}
}

再次运行,可以看到非常全的工具栏!

运行后打开发现,怎么是html格式的?没关系,将“{{article.body}}”修改为“{{article.body|safe}}”就完美解决!

7、添加代码段按钮

Code Snippet 是CKEditor的一个扩展组件,非常好用,只需要将“codesnippet”添加到配置文件即可:

# ckeditor
CKEDITOR_CONFIGS = {'default': {'skin': 'moono-lisa','toolbar_Basic': [['Source', '-', 'Bold', 'Italic']],'toolbar_Full': [[ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ],[ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ],
​[ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ],[ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ],'/',[ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ],[ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv', '-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ],[ 'Link','Unlink','Anchor' ],[ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ],'/',[ 'Styles','Format','Font','FontSize' ] ,[ 'TextColor','BGColor' ] ,[ 'Maximize', 'ShowBlocks','-','About' ] ,['CodeSnippet'],  #代码段按钮
​],'toolbar': 'Full','extraPlugins': 'codesnippet',   #代码段插件}
}

重新运行服务器,进入后台就可以看到添加代码的按钮了,还能选择语言。

8.代码高亮

代码高亮需要添加额外的插件Prism。在Prism插件官方页面下载(也可以点击这里直接下载)后,将解压出来的prism放到envLibsite-packagesckeditorstaticckeditorckeditorplugins目录下。注意env是你创建的虚拟环境的目录。然后在Prism官网选择主题:

  • 根据喜好选择一个喜欢的主题
  • 然后选择需要高亮的语言。不清楚就可以全选
  • 勾选行号插件
  • 最后点击DOWNLOAD CSS下载样式

在静态文件目录static中新建prism目录,将下载好的CSS文件放进去。

然后在需要代码高亮的模板文件中引用prism的静态文件,对代码进行渲染:

<script src="{% static 'prism/prism_patched.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'prism/prism.css' %}">

Prismwidgetlineutils插件添加到配置文件中。后面两个编辑器自带,不用单独下载,添上就可以了:

my_blog/settings.py
​
...
CKEDITOR_CONFIGS = {'default': {...# 添加 Prism 相关插件'extraPlugins': ','.join(['codesnippet', 'prism', 'widget', 'lineutils']),}
}

9.在评论中使用Ckeditor

首先需要把评论的表单传递到文章详情页面中。因此修改article_detail视图:

blog/views.py
​
# 引入评论表单
from comment.forms import CommentForm
​# 引入评论表单comment_form = CommentForm()context = { 'comment_form': comment_fo, }

然后将detail.html原来评论表单中的正文部分替换如下:

templates/blog/detail.html
​{{ comment_form.media }}{{ comment_form.body }}

其中的comment_form.media是编辑器自身的渲染代码,comment_form.body则是评论正文字段。

10.注意

在项目部署上线后可能文章详情页面ckeditor 无法加载请针对错误提示进相关的修改,一般是css文件的问题.

关注我的博客

www.jeiban.com​www.jeiban.com

关注我的公众号

b70a1388822e54e21d122f76bba0762e.png

关注我的CSDN

ed2d5949dc977b6de15c971d083f223e.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_751869.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机登录网站慢手机快,电脑上网慢但手机很快有什么解决方法

使用电脑的时候&#xff0c;发现电脑上网速度慢&#xff0c;遇到这种问题的时候该怎么办?下面学习啦小编给大家讲解一下关于电脑上网慢但手机很快的解决方法&#xff0c;希望大家喜欢!电脑上网慢但手机很快的解决方法【手动清理浏览器缓存】其实大多数打开网页速度慢&#xff…

网站跨域访问服务器数据库,网站跨域访问服务器数据库

网站跨域访问服务器数据库 内容精选换一换配置应用系统的跨云热备容灾方案如图1所示。在如图1所示的方案中&#xff0c;用户的生产数据中心的应用系统使用MySQL作为数据库&#xff0c;应用系统与MySQL均热备容灾到华为云上。用户的生产数据中心与华为云之间使用专线进行网络连接…

常用的网站功能测试方法(已更新)和GUI基本测试内容

网站功能测试就是对产品的各功能进行验证&#xff0c;根据功能测试用例&#xff0c;逐项测试&#xff0c;检查产品是否达到用户要求的功能。常用的测试方法如下&#xff1a; 1、页面链接检查&#xff1a; 每一个链接是否都有对应的页面&#xff0c;并且页面之间切换工具&…

网络编程 -- 网络编程概述(ip,端口号,通信协议,hosts文件,域名,网站是如何进行访问的)

1. 网络编程的目的 传播交流信息&#xff0c;数据交换。 1.1 想达到这个目的需要些什么 如何准确的定位网络上的一台主机&#xff0c;唯一的IP地址&#xff0c;端口&#xff0c;定位到这个计算机上的某个资源。找到了这个主机&#xff0c;如何传输数据呢&#xff1f; JavaWeb…

收藏精美网页设计作品的200佳网站推荐(系列四)

这个系列将向大家分享200佳收藏精美网页设计作品的网站。网页设计师们可通过这些网站收集的优秀网页设计作品来获取灵感&#xff0c;进而设计出更加时尚、更有创意的作品&#xff0c;网页设计师也可以把自己得意的作品提交到这些网站&#xff0c;分享给其它的设计师朋友。如果你…

JavaWeb--web服务器讲解Tomcat讲解请你谈谈网站是如何进行访问的?

1. JavaWeb–web服务器讲解&Tomcat讲解&请你谈谈网站是如何进行访问的? 1.1 技术讲解 ASP: 微软&#xff1a;国内最早流行的就是ASP&#xff1b;在HTML中嵌入了VB脚本&#xff0c;ASPCOM。在ASP开发中&#xff0c;基本一个页面都有几千行代码&#xff0c;页面极其混…

词云python_如何建立关键字词库,怎么增加网站关键词库?

网站建设容易&#xff0c;而提升权重是需要技术操作的。实际上&#xff0c;网站权重的提升是一个增加网站词汇的过程。网站关键词的重要性不言而喻。SEO优化推广以关键词为中心&#xff0c;关键词是汉语教学的中心词。 关键字也称为关键字。它是网站的三个要素之一&#xff08;…

深入浅出Symfony2 - 如何提高网站响应速度

简介\u0026#xD;Symfony2是一个基于PHP语言的Web开发框架&#xff0c;有着开发速度快、性能高等特点。但Symfony2的学习曲线也比较陡峭&#xff0c;没有经验的初学者往往需要一些练习才能掌握其特性。相对其他框架&#xff0c;Symfony2比较吸引人的特点有&#xff1a;\u0026#xD;…

通过图片优化,我将网站大小减少了62%

图片是Web提供的最基本的一种内容类型。人们都说一张图片胜过千言万语。但如果你一不小心&#xff0c;它也可能占用你好几兆带宽。 虽说Web图像应该尽可能清晰明快&#xff0c;但文件大小必须是可管理的&#xff0c;以便保持较快的加载速度&#xff0c;并且应该将数据使用保持在…

如何让 HR 找到你? 你需要进行个人SEO优化!(一)

编辑丨April Shen专栏丨九章算法互联网和许多在线招聘平台的出现为雇主和求职者提供了更多的选择。招聘人员和雇主经常通过互联网和在线招聘平台搜索适合他们公司的求职者&#xff0c;而根据他们不同的招聘要求&#xff0c;他们的搜索选项也并不仅限于谷歌和Bing&#xff0c;他…

假期不想在躺尸中度过?推荐你十个优质编程网站

撰文 | April专栏 | 九章算法对于软件开发人员来说&#xff0c;保持编程的竞技水平是非常有必要的。通过解决不同类型的编程难题&#xff0c;迎接不同类型的编程挑战&#xff0c;不仅能让你成为处理问题的高手&#xff0c;帮助你了解编程语言的复杂性&#xff0c;还能让你学习到…

038制作web服务器和发布网站

一、web服务器的作用 我们写的品优购网站&#xff0c;目前是放到自己电脑上的&#xff0c;只能自己访问浏览。 如果想要很多人访问我们的网站&#xff0c;可以把品优购放到服务器上&#xff0c;这样就可以多人访问我们的品优购网站了。 二、什么是web服务器 服务器&#xf…

python+selenium 登录xx网站

2019独角兽企业重金招聘Python工程师标准>>> 1.操作系统是MAC 64bit 自带的python&#xff0c;编码是UTF-8 2.在页面https://pypi.python.org/pypi/selenium 上下载selenium 3.将selenium的压缩包拷贝到python目录下&#xff0c;然后解压 4.更换管理员权限 5.到sele…

只知道LinkedIn的你,错过了多少机会!美帝十大求职网站收好

1、Indeed http://www. Indeed.com/ 职位搜索大佬 Indeed是美国职位搜索引擎中的元老级人物。Indeed可以为求职者提供一些宝贵的数据信息&#xff0c;如基本工资&#xff0c;人均职位和行业就业趋势。 优势 大公司HR的人气王&#xff0c;世界五百强的招聘信息都能在Indee…

IIS7.5中调试.Net 4.0网站出现无厘头500错误的解决办法 (转)

刚刚 部署了ii7的dll的有x86写的&#xff0c;就会出现以下这样的问题 iis 7 x86,Could not load file or assembly Name or one of its dependencies. An attempt was made to load a program with an incorrect format. 解决这样的&#xff0c;只要设置一下iis兼容x86程序就可…

设计师必备!免费下载 PSD 素材的32个网站

今天我想和大家分享一组可以免费下载 PSD 图形素材的最好的网站。 PSD 文件是非常有用的资源&#xff0c;因为你可以看到所有的层&#xff0c;使用了什么技术来创建出这些作品和效果。 某些列出的网站可能已是众所周知的&#xff0c;但你会惊奇地发现他们也提供免费的 PSD 文件…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据&#xff0c;目前约有78.9&#xff05;的网站使用PHP开发。\u0026#xD;\u0026#xD;但是&#xff0c;PHP 5.6.x的安全支持将在2018年12月31日正式停止&#xff0c;这标志着对古老的PHP 5.x分支版本的支持都将结束。\u0026#xD;\u0026#xD;也就是说&#xff0c;…

码农的暑期专属学习网站,赶紧get起来吧!

暑假&#xff0c;又到了立flag的时刻&#xff0c;此刻的你&#xff0c;是否已经准备好了满满一张to do list&#xff0c;不管有没有&#xff0c;小编已经准备了一份码农专属的SUMMER BUCKET LIST&#xff0c;快来装备自己&#xff0c;打响你的专属假期吧。 暑期第一弹 快乐的肥…

全球SEO行业调查报告

这是一份来自MOZ的调查报告&#xff0c;本报告是两年一次的SEO行业调查&#xff0c;主要围绕SEO从业人员的特征、工作内容时间分配比例、对未来市场的看法、使用的seo工具以及SEO知识扩充渠道等展开。 这份报告可以对从事或即将从事SEO行业的朋友对本行业有一个大致的了解与判…

wordpress商城源码_外贸B2C商城建站系统,选择WordPress, Shopify, Magento还是Opencart?

很多做跨境B2C电商平台的用户, 无论Amazon, eBay还是速卖通, 都在考虑做一个B2C独立站用来辅助, 好处非常多, 我会在后面讲课里再详细讲解到. 那么外贸B2C商城建站系统到底该怎么选呢, WordPress, Shopify, Magento还是Opencart? 目前网上关于外贸B2C商城建站系统的文章, 都是…