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