많은 온라인 시험 응시 웹사이트는 텍스트 입력에 텍스트 편집기를 사용합니다. 이미지 업로드 등 퀼 텍스트 편집기는 매우 인기가 있으며 데이터베이스에 직접 저장할 수 있는 모델 필드도 제공합니다. 따라서 데이터베이스에 데이터를 저장하기 위해 추가로 구성할 필요가 없습니다.
이 기사에서는 Django에서 텍스트 편집기 필드를 만드는 방법을 살펴봅니다.
먼저 Django 프로젝트와 앱을 생성합니다. URL 포함과 같은 몇 가지 기본 설정을 수행합니다. 앱의. 미디어 만들기 프로젝트 및 앱의 동일한 수준에 있는 폴더입니다.
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
예
n 앱의 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에 대한 기본 보기를 설정하기만 하면 됩니다.
이제 템플릿을 만드세요. 앱 디렉토리에 폴더를 만들고 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}) 여기에서 양식을 만든 다음 홈 뷰를 사용하여 렌더링했습니다. 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)
여기에서 모델을 만들고 그 안에 텍스트 편집기의 데이터를 저장할 텍스트 편집기 필드를 만들었습니다.
출력
