日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Django Forms实例

發(fā)布時(shí)間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django Forms实例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
# Django的Form主要具有一下幾大功能: # # 生成HTML標(biāo)簽 # 驗(yàn)證用戶(hù)數(shù)據(jù)(顯示錯(cuò)誤信息) # HTML Form提交保留上次提交數(shù)據(jù) # 初始化頁(yè)面顯示內(nèi)容# forms組件生成HTML標(biāo)簽格式 # class 表名Form(Form): # 字段名 = fields.字段類(lèi)型( # 初始值, # widgets=widgets.插件(attrs={html屬性標(biāo)簽 字典格式}) # )

1.urls.py

url(r'^student', student),

2.models.py

from django.db import models# Create your models here. class Class(models.Model):title = models.CharField(max_length=32)teachers = models.ManyToManyField("Teacher")def __str__(self):return self.titleclass Teacher(models.Model):name = models.CharField(max_length=32)def __str__(self):return self.nameclass Student(models.Model):username = models.CharField(max_length=16,unique=True)age = models.IntegerField()gender = models.BooleanField()classes = models.ForeignKey("Class")def __str__(self):return self.username

2.form.py

from .models import Student, Class, Teacher # Create your froms here. from django.forms import Form from django.forms import widgets from django.forms import fieldsclass StudentForm(Form):username = fields.CharField()(
     widget=widgets.TextInput(attrs={"style":"color:red;"},)
)age
= fields.IntegerField()gender = fields.ChoiceField(choices=((1, ""), (0, ""),),initial=1,widget=widgets.Select)classes = fields.IntegerField(initial=1,widget=widgets.Select())
  
  # 綁定動(dòng)態(tài)數(shù)據(jù)
def __init__(self, *args, **kwargs):super(StudentForm, self).__init__(*args, **kwargs)self.fields["classes"].widget.choices = Class.objects.all().values_list("id", "title")

4.views.py

from .forms import StudentForm from .models import Student,Class,Teacher def student(request):if request.method == "GET":obj = StudentForm()return render(request, "t1/student.html", locals())elif request.method == "POST":obj = StudentForm(request.POST)if obj.is_valid():try:val = obj.clean()print(val)Student.objects.create(username=val["username"], age=val["age"], gender=val["gender"],classes_id=val["classes"])return HttpResponse(val["username"] + "添加完成")except Exception as e:return HttpResponse("數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入")else:print(obj.clean())return HttpResponse("ERROR")else:return HttpResponse("error")

5.student.html

<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <form action="/student/" method="POST" enctype="multipart/form-data">{% csrf_token %}<p>用戶(hù)名:{{ obj.username }} {{ obj.username.errors }}</p><p>年&nbsp;&nbsp;齡:{{ obj.age }}{{ obj.age.errors }}</p><p>性&nbsp;&nbsp;別:{{ obj.gender }}</p><p>班&nbsp;&nbsp;級(jí):{{ obj.classes }}</p><input type="submit"value="添加用戶(hù)"/> </form> </body> </html>

?

轉(zhuǎn)載于:https://www.cnblogs.com/icemonkey/p/10541986.html

總結(jié)

以上是生活随笔為你收集整理的Django Forms实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。