เว็บไซต์สอบออนไลน์หลายแห่งใช้โปรแกรมแก้ไขข้อความสำหรับการป้อนข้อความ การอัปโหลดรูปภาพ ฯลฯ ขนนก โปรแกรมแก้ไขข้อความเป็นที่นิยมอย่างมาก และยังมีฟิลด์โมเดลสำหรับจัดเก็บในฐานข้อมูลโดยตรง ดังนั้น คุณไม่จำเป็นต้องกำหนดค่าอะไรเพิ่มเติมเพื่อบันทึกข้อมูลในฐานข้อมูล
ในบทความนี้เราจะมาดูวิธีการสร้างฟิลด์แก้ไขข้อความใน 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
ตัวอย่าง
urls.py ของแอป n , เพิ่มต่อไปนี้ −
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)
ที่นี่เราสร้างโมเดล และในนั้น เราสร้างฟิลด์แก้ไขข้อความ ซึ่งจะเก็บข้อมูลของโปรแกรมแก้ไขข้อความของเรา
ผลลัพธ์