form表单

form.py

表单的作用是收集用户数据信息的集合,实现网页的交互

<form>

</form>

组成:
① action,用于设置用户提交的表单数据应由哪个路由接受和处理
② method,设置表单的提交方式,GET/POST
③ <input>,用户信息输入框,类型使用 type 设置输入框类型
④ <input>,用户信息提交按钮

models.py

from django.db import models

# Create your models here.

class UserInfo(models.Model):
    id = models.AutoField('id', primary_key=True)
    userName = models.CharField('姓名', max_length=20, null=False)
    loginNum = models.IntegerField('登录账号')
    userPassword = models.CharField('密码', max_length=16, null=False)

    class Meta:
        # 设置表名
        db_table = 'UserInfo'

数据迁移执行生成数据表
在这里插入图片描述
手动插入数据
在这里插入图片描述
form.py

# -*- coding: utf-8 -*-
from django import forms
from .models import UserInfo

class UserInfoForm(forms.Form):
    # id = forms.IntegerField(max_value=8, label='id')
    userName = forms.CharField(max_length=20, label='姓名')
    loginNum = forms.IntegerField(max_value=16, label='登录id')
    userPassword = forms.CharField(max_length=16, label='密码')
    
    # 下拉框
    
    # 查询 UserInfo 的数据
    values = UserInfo.objects.values('userName')
    choices = [ (i+1, v['userName']) for i, v in enumerate(values)]
    Name = forms.ChoiceField(choices=choices, label='已存在姓名')
    
    

urls.py

# -*- coding: utf-8 -*-
from django.urls import path
from . import views

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

views.py

from django.shortcuts import render
# Create your views here.

from .form import UserInfoForm

def userLogin(request):
    v = UserInfoForm()
    return render(request, 'Login.html', locals())

Login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
    <table>
    {# 使用 as_table 将表单对象v以HTML的<table>标签进行展示 #}
        {{ v.as_table }}
    </table>
    <input type="submit" value="申请">
</form>
</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值