Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Django में फॉर्म विजेट


इस लेख में, हम देखेंगे कि Django फॉर्म में विजेट्स का उपयोग कैसे करें। विजेट्स फ्रंटएंड को बेहतर बनाने के लिए काफी मददगार हो सकते हैं। विजेट्स HTML एलिमेंट्स हैं जो Django फॉर्म से रेंडर होते हैं, टेक्स्टएरिया, इनपुट, पासवर्ड इनपुट, आदि सभी विजेट्स हैं।

सबसे पहले एक Django प्रोजेक्ट और एक ऐप बनाएं। मैंने प्रोजेक्ट को "tutorial14" नाम से और ऐप को "djangoFormWidget" नाम से बनाया।

settings.py में ऐप जोड़ें और प्रोजेक्ट urls.py में ऐप का URL शामिल करें।

Templates, home.html, forms.py जैसी हर बेसिक फाइल और फोल्डर बनाएं।

उदाहरण

ऐप के urls.py में:

from django.urls import path, include
from . import views

urlpatterns = [
    path('', views.home, name="home")
]

यह व्यू रेंडर करने के लिए एक बेसिक URL बनाएगा।

views.py में:

from django.shortcuts import render
from .forms import CommentForm
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def home(request):
    if request.method == 'POST':
        form = CommentForm(request.POST)
        if form.is_valid():
            form.save()
    commentform = CommentForm()
    return render(request, 'home.html', {"commentform": commentform})

यहां, हमने अपना फॉर्म इम्पोर्ट किया और इसके POST और GET अनुरोधों को हैंडल किया।

POST में, हम डेटा सेव करते हैं और GET में, हम फॉर्म को फ्रंटएंड भेजते हैं।

models.py में:

from django.db import models

class CommentModel(models.Model):
    comment = models.CharField(max_length=500)

यहां हमने एक मॉडल बनाया जिसका उपयोग हम अपने फॉर्म में करेंगे। हमें इस मॉडल की आवश्यकता है फॉर्म का उपयोग करने के लिए।

home.html में:

<!DOCTYPE html>
<html>
    <head>
        <title>TUT</title>
    </head>
    <body>
        {% for fm in commentform %}
        <form method="post">
            {% csrf_token %}
            {{fm.errors}}<br>
            {{fm.label}}:{{fm}}<br>
        {% endfor %}
            <button type="submit">Submit</button>
        </form>
    </body>
</html>

यह एक साधारण फ्रंटएंड है जहां हम अपना फॉर्म रेंडर करते हैं।

forms.py में:

from django import forms
from .models import CommentModel

class CommentForm(forms.Form):
    comment = forms.CharField(widget=forms.Textarea(attrs={'class': 'comment', 'title': 'add comment'}))
    # यह वह लाइन है जिसका उपयोग विजेट के लिए किया जाता है, यहां मैंने TextArea विजेट जोड़ा, आप देख सकते हैं कि हमने attrs एट्रिब्यूट का उपयोग करके विजेट को क्लास भी असाइन की।

    def save(self):
        data = self.data
        modelRef = CommentModel(comment=data['comment'])
        modelRef.save()

यह वह जगह है जहां हम अपना फॉर्म बनाते हैं। हमने फॉर्म में टेक्स्टएरिया रेंडर करने के लिए बिल्ट-इन Django फॉर्म विजेट का उपयोग किया।

आउटपुट

Django में फॉर्म विजेट


  1. Django REST Framework JWT ऑथेंटिकेशन Django REST Framework JWT ऑथेंटिकेशन

    यदि आपने कभी Django REST फ्रेमवर्क के साथ काम किया है, तो आप निश्चित रूप से JWT ऑथेंटिकेशन के बारे में जानते होंगे। JWT ऑथेंटिकेशन का उपयोग टोकन ऑथेंटिकेशन के लिए किया जाता है और यह Django में ऑथेंटिकेशन के लिए वास्तव में एक लोकप्रिय मेथड है। JWT का मतलब JSON Web Token है। आइए देखते हैं कि इसके साथ

  1. पायथन - किवी (Kivy) में BoxLayout विजेट पायथन - किवी (Kivy) में BoxLayout विजेट

    किवी (Kivy) अभिनव उपयोगकर्ता इंटरफेस वाले एप्लिकेशन के तेजी से विकास के लिए एक ओपन सोर्स पायथन लाइब्रेरी है, जैसे मल्टी-टच ऐप्स। इसका उपयोग एंड्रॉइड एप्लिकेशन के साथ-साथ डेस्कटॉप एप्लिकेशन विकसित करने के लिए किया जाता है। इस लेख में हम देखेंगे कि BoxLayout विजेट का उपयोग करके विभिन्न ओरिएंटेशन और रं

  1. Python Tkinter में Progressbar विजेट Python Tkinter में Progressbar विजेट

    प्रोग्रेसबार एक सामान्य GUI तत्व है जिसका उपयोग किसी कार्य की प्रगति दिखाने के लिए किया जाता है। इस लेख में हम देखेंगे कि Python tkinter GUI लाइब्रेरी का उपयोग करके प्रोग्रेसबार कैसे बनाया जाए। नीचे दिए गए प्रोग्राम में हमने tkinter.ttk मॉड्यूल के प्रोग्रेसबार सब-मॉड्यूल को आयात किया है। फिर स्टाइल