Djangoform组件——ModelForm的基本使用
1 2 3 4 5 6 7 8 9 | from django.contrib import admin from django.urls import path from app01 import views urlpatterns = [ path( 'admin/' , admin.site.urls), path( 'login/' ,views.login) ] |
1 2 3 4 5 | from django.db import models class Userinfo(models.Model): username = models.CharField(max_length=20) password = models.CharField(max_length=60) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | from django.shortcuts import render,HttpResponse from django import forms #导入forms组件 from app01.models import Userinfo #导入要使用的模型 #之前自己定义表单类的字段,现在继承ModelForm后,可以直接将模型生成一个form表单 class UserLoginForm(forms.ModelForm): #定义一个类,要继承 ModelForm password = forms.CharField( #如果模型中的字段不够用,也可以自己定义字段,自己加的字段在生成表单的时候默认会放在最后 widget=forms.widgets.PasswordInput(render_value=True) ) class Meta: model = Userinfo #指定要使用的模型 fields = '__all__' #要显示哪些字段, '__all__' 表示全部显示, 也可以显示一部分:fields = [ '字段1' , '字段2' , '字段3' , ...] exclude = [ 'password' ] #不显示的字段 def login(request): if request.method == 'POST' : userloginform = UserLoginForm(request.POST) userloginform.save() #将提交的form表单数据对应的字段数据保存到数据库中 return HttpResponse( '保存成功' ) else : userloginform = UserLoginForm() return render(request, 'login.html' ,{ 'userloginform' : userloginform}) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Login</title> <style></style> </head> <body> <form action= "" method= "post" novalidate> {% csrf_token %} <div> {{ userloginform.as_p }} {# userloginform.as_p: 将所有的元素渲染在<p>标签中显示 , 同理的还有{{ form.as_table }}和{{ form.as_ul }} #} </div> <div> <input type= "submit" value= "提交" > </div> </form> </body> </html> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现