অনেক অনলাইন এক্সাম ওয়েবসাইট টেক্সট এন্ট্রি, ইমেজ আপলোড ইত্যাদির জন্য টেক্সট এডিটর ব্যবহার করে। Quill টেক্সট এডিটর খুব জনপ্রিয় এবং এটি ডাটাবেসে সরাসরি সংরক্ষণের জন্য একটি মডেল ফিল্ডও প্রদান করে। তাই, এর ডেটা ডাটাবেসে সংরক্ষণ করার জন্য আপনাকে এক্সট্রা কিছু কনফিগার করতে হয় না।
এই আর্টিকেলে, আমরা দেখব কিভাবে ডজ্যাঙ্গোতে একটি টেক্সট এডিটর ফিল্ড তৈরি করা যায়।
প্রথমে একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন। urls ইনক্লুড করা এবং settings.py-তে অ্যাপ যোগ করা সरीখে কিছু বেসিক সেটিংস করুন। প্রজেক্ট এবং অ্যাপের সমান লেভেলে একটি 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-এ সেট করেছি এবং মিডিয়া ফোল্ডারের 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>
</body>
</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)
এখানে আমরা একটি মডেল তৈরি করেছি এবং সেটিতে টেক্সট এডিটর ফিল্ড তৈরি করেছি, যা আমাদের টেক্সট এডিটরের ডেটা সংরক্ষণ করবে।
আউটপুট
