如何在 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
示例
在应用的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 和 media 文件夹 url 上。
现在,在应用目录中创建一个templates文件夹,并在其中创建home.html文件。在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)
在这里,我们创建了一个模型,并在其中创建了文本编辑器字段,该字段将存储文本编辑器的数据。
输出

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP