form模块的主要作用是当form提交数据的时候抛出错误的时候,不需要自己定义错误类型,直接返回form对象的error就可以了(这是我的理解)看简单代码,在form.py文件中一个类就是一个自定义的form表单,然后在view中引用,利用规定的方法来提取form中的数据,如果发生错误,则返回
Form.py文件
from django import forms
class AddForm(forms.Form):
a = forms.IntegerField()
b = forms.IntegerField()
# coding:utf-8
from django.shortcuts import render
from django.http import HttpResponse
# 引入我们创建的表单类,view.py
def form1(request): if request.method=="POST": #这里POST一定要大写 #通常获取请求信息 #request.POST.get("user",None) #request.POST.get("pwd",None) #获取请求内容,做验证 f = Form1(request.POST) #request.POST:将接收到的数据通过Form1验证 if f.is_valid(): #验证请求的内容和Form1里面的是否验证通过。通过是True,否则False。 print(f.cleaned_data) #cleaned_data类型是字典,里面是提交成功后的信息 else: #错误信息包含是否为空,或者符合正则表达式的规则 print(type(f.errors),f.errors) #errors类型是ErrorDict,里面是ul,li标签 return render(request,"account/form1.html",{"error":f.errors}) return render(request,"account/form1.html")
关于model中的makemigrations和migration
前者指的是你model.py文件中的数据库结构发生了变化这个时候还没作用到数据,只是纪录一下,当你执行完前者的命令的时候你会发现你的项目migrations中会多一些文件,这就是你改动的纪录,
后者就是把你的改动作用的数据库中 ,在具体可以看看点击打开链接
然后就是admin模块中的用法
利用我理解的大白话说就是对你项目中的数据结构添加数据,进来一个新的学生管理员要向数据库中添加他的基本信息,一般管理页面和接口需要自己写,但是你直接引用Django中的admin直接就可以了,就是页面不好看,但是有bootstrap模块可以对页面自定义我是这样理解的,
做法就是你需要把你要管理的表结构加入到admin中,在admin.py文件中进行注册
admin.py文件
from django.contrib import admin
from .models import UserTable
admin.site.register(UserTable)
# Register your models here.
models.py文件
from django.db import models
from django.contrib import admin
# Create your models here.
class UserTable(models.Model):
id = models.AutoField(max_length = 100 , primary_key = True);
username = models.CharField(max_length = 100);
heading = models.CharField(max_length = 100);
pwd = models.CharField(max_length = 100);
registetime = models.DateTimeField(auto_now_add=True);
issudit = models.BooleanField(default = True);
phone = models.IntegerField()
当在登陆admin路由的时候就会user table的选项可以添加信息,这都是简单的用法
当登陆admin的时候需要注册超管详情看博客点击打开链接