django中的path()函数
urlpattern[
path(,,[name=None,**kwargs])
]
route 和view 为必填
其中route为路径,该路径可以任意命名,例’sales/listorders’,但若查询网站,则要输入正确的路径名称
当网站路径输入正确,则进行下步操作,view表示需要调用的视图。
view可以是引用的路由模板,‘sales.url’,还可以是函数include
from django.url import include,url
including((pattern_list,app_namespace),namespace = None)
include需要两个参数,arg和namespace, 当namespace不为空时,arg参数必须是一个2元组,除了urlpatterns不能为空之外,app_name也必须填写。
url 函数
url函数的语法
url(regex,views,kwargs=None,name=None)
1、regex
正则表达式,匹配请求的 url
2、views
URL处理的视图函数,通常都是自定义的
3、kwargs
字典,用来向views传参的
4、name
字符串,给url()起一个别名,主要在模板中配合{%url%}一起使用
外键
外键是用来指向某个外来的键值的字段
有外键字段的是外键表,没有外键字段,但与外键表有关联是主键表
注意:
1、外键字段在创建的时候就应该与主表的类型完全一致(长度啊等),否则创建外键会报错
2、外键表是不能插入主表不存在的数据。
3、外键表不能删除已经关联上的主表数据。
4、外键要定义在‘多’的一方!
作用
去除冗余的数据
数据结构化,使用和执行效率更高
便于管理和更好的储存数据
外键的种类
常用外键ForeignKey
多对多 MangToMangField
一对一 OneToOneField
万能外键 ContentType
理解:
外键即为原表添加一列属性,添加的属性属于主键,且他们排序相等,例如在学生信息表中,加上一列班主任姓名,外键即为学生。
例如
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=100)
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
category = models.ForeignKey(‘Category’,on_delete=models.CASCADE)
blank用于表单的认证,默认设为blank=False时,填入表单的值需存在
null用于规定数据库中的列的非空性,被默认设为null=false时,数据库的列不为空
存在四种情形
blank=True null=Ture
表明表单可为不填,数据库可为空
blank=True null=False
表明表单可为空值,而通过save方法生成
blank=False null=True
表明表单不可为空,而可以通过shell方法插入的数据该字段为空
blank=False null=False
表明均不可为空
学就完事了