django-表单的使用(forms . Form)

郝春妮

关注

阅读 148

2022-12-07

MyDjango index 中添加了空白文件 form.py ,该文件主要用于编写表单的

实现功能,文件夹可自行命名:同时在文件夹 templates 中添加模板文件 data form. html,该文件用于将 表单 的数据显 到网页上。最后在文件 form.py views-py data form.html 中分别 加以下代码:

form py 代码 定义 ProductForm 表单对象


#表单测试
from django import forms
from .models import *
class ProductForm(forms.Form):
name = forms.CharField(max_length=20,label='名字')
weigth = forms.CharField(max_length=50,label='重量')
size = forms.CharField(max_length=50,label='尺寸')
#设置下拉框的值
choices_list = [(i+1,v['type_name']) for i,v in enumerate(Type.objects.values('type_name'))]
type = forms.ChoiceField(choices=choices_list,label='产品类型')

views py 代码 将表单 ProductForm 实例化并将其传递到模板中生成网页内容

#将表单数据实例化,并返回到前端模板中显示
from django.shortcuts import render
from .form import *
def index(request):
product = ProductForm()
return render(request,'test.html',locals())

data form html 代码 将表单对象的内容显示在网页上

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% if product.errors %}
<p>
数据出错啦,错误信息:{{ product.errors }}.
</p>
{% else %}
<form action="" method="post">
{% csrf_token %}
<table>
{{ product.as_table }}
</table>
<input type="submit" value="提交">
{{ product.type.type }}
</form>
{% endif %}
</body>
</html>

urls.py

from django.urls import path,include

from . import views
from .views import *
urlpatterns = [
path('test.html', views.index, name='index'),

]


精彩评论(0)

0 0 举报