Django 中的表单小组件
在本文中,我们将了解如何在 Django 表单中使用小组件。小组件对于改进前端非常有帮助。小组件是 Django 表单呈现的 html 元素,文本框、输入框、密码输入框等,都是小组件。
首先,让我们创建一个 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
# Create your views here.
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 # Create your models here. 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'})) # this is the line which is used for widget, here I added TextArea widget you can see we also assigned class to widget using attrs attribute.
def save(self):
data=self.data
modelRef=CommentModel(comment=data['comment'])
modelRef.save()它就是我们创建表单的地方。我们使用了内置 Django 表单小部件来呈现表单中的文本区域。
输出

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP