如何在Django中添加文本编辑器字段?
许多在线考试网站使用文本编辑器进行文本输入、图像上传等操作。 Quill文本编辑器非常流行,它还提供了一种模型字段用于直接在数据库中存储。 因此,您无需配置任何额外的内容即可将其数据保存到数据库中。
在本文中,我们将看到如何在Django中制作文本编辑器字段。
首先,创建一个Django项目和一个应用程序。 做一些基本的设置,如包括应用程序的 urls 。 在项目和应用程序的同一级别创建一个 media 文件夹。
在 settings.py 中添加−
INSTALLED_APPS = [ 'myapp.apps.MyappConfig', #django app
' django_quill' #module name]
.
.
.
.
..
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
安装 django_quill 包−
pip install django_quill
阅读更多:Python 教程
示例
在应用程序的 urls.py 中添加以下内容−
from django.urls import path
from . import views
urlpatterns = [
path('', views.home,name="home"),
]
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
这里我们简单地将主视图集合到URL和媒体文件夹URL中。
现在,在应用程序的目录中创建一个 templates 文件夹,并在其中创建一个名为 home.html 的文件。 添加以下行-
<!DOCTYPE html>
<html>
<head>
{{ form.media }}
{% include 'django_quill/media.html' %}
<title>
TUT
</title>
</head>
<body>
<form role="form" method="POST">
<legend>Form Title</legend>
{% csrf_token %}
{{form}}
<button type="submit" class="btn btnprimary">Submit</button>
</form>
</html>
在此,我们呈现了我们从后端发送的表单。
在 views.py 中添加以下行−
from django.shortcuts import render
from django import forms
from .models import another_model
class NewForm(forms.ModelForm):
class Meta:
model=another_model
fields="__all__"
def home(request):
if request.method =="POST":
form=NewForm(request.POST)
if form.is_valid():
form.save()
form=NewForm()
return render(request,'home.html',{"form":form})
在这里,我们创建了一个表单,然后使用home视图呈现它。 对于 处理POST视图,我们验证表单数据然后保存它。
在 models.py 中添加以下行−
from django.db import models
from django_quill.fields import QuillField
class another_model(models.Model):
name = models.CharField(max_length=200)
place = models.CharField(max_length=100)
animal = models.CharField(max_length=100)
thing = models.CharField(max_length=100)
content = QuillField(blank=True)
在这里,我们创建了一个模型,在其中创建了文本编辑器字段,它将存储我们的文本编辑器数据。
输出结果

极客教程