Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Django에서 텍스트 편집기 필드를 추가하는 방법은 무엇입니까?

<시간/>

많은 온라인 시험 응시 웹사이트는 텍스트 입력에 텍스트 편집기를 사용합니다. 이미지 업로드 등 텍스트 편집기는 매우 인기가 있으며 데이터베이스에 직접 저장할 수 있는 모델 필드도 제공합니다. 따라서 데이터베이스에 데이터를 저장하기 위해 추가로 구성할 필요가 없습니다.

이 기사에서는 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)

여기에서 모델을 만들고 그 안에 텍스트 편집기의 데이터를 저장할 텍스트 편집기 필드를 만들었습니다.

출력

Django에서 텍스트 편집기 필드를 추가하는 방법은 무엇입니까?