我正在研究django上的这个项目,我有这个模型,它有很少的字段和文本字段。我想知道的是,无论如何我可以在django管理面板中编辑文本字段的外观,这样我就可以编辑我在该文本字段中写的内容,就像单词中的那个,你可以选择使文本变粗或插入链接和图像 我尝试了这个名为grappelli的模块,但它只是改变了我的管理面板添加颜色和装饰材料的外观。
class Heading(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=5000)
content = models.TextField()
date = models.DateField(default=datetime.now())
def __str__(self):
return self.title
答案 0 :(得分:2)
使用ckeditor
https://github.com/django-ckeditor/django-ckeditor
shell上的:
pip install django-ckeditor
在settings.py上:
添加' ckeditor'在INSTALLED_APPS
在models.py上:
from ckeditor.fields import RichTextField
class Heading(models.Model):
content = RichTextField()
答案 1 :(得分:0)
您可以使用 django-summernote
https://github.com/summernote/django-summernote
第1步:安装django-summernote
pip install django-summernote
第2步:将django_summernote添加到 settings.py 中的 INSTALLED_APP 中。
INSTALLED_APPS = [
'django_summernote',
'...',
]
第3步:将django_summernote.urls添加到项目 urls.py 。
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
# ...
urlpatterns = [
...
path('summernote/', include('django_summernote.urls')),
...
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
第4步:在 settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
第5步:在 admin.py
上from django.contrib import admin
from django_summernote.admin import SummernoteModelAdmin
from .models import Heading
class HeadingAdmin(SummernoteModelAdmin):
summernote_fields = ('content',)
admin.site.register(Heading, HeadingAdmin)
步骤6 :运行数据库迁移
python manage.py migrate