day19-django上回回顾
1、django 请求的生命周期
路由系统--视图函数(获取模板,数据--渲染)--返回字符串给用户
2、路由系统
/index/ 函数或者类.as_view()
/detail/(\d+) 函数(参数)或者类.as_view()(参数)
/detail/(?p<nid>\d+) ....
/detail/ include("app01.urls")
/detail/ name="a1"
视图中的:reverse
模板中的:{% url "a1" %}
3.视图
FBV: 函数
def index(request,*args,**kwargs):
CBV:类
class Home(views.VIEW)
def get(self,request,*arg,**kwargs)
...
获取用户请求中的数据
reques.POST.get
request.GET.get
request.FILES.get()
#checkbox,
....getlist()
request.path_info
文件对象:=request.FILES.get()
文件对象.name
obj.size
obj.chunks()
from 需要加属性 ,encrypto=....
给用户返回数值:
render(request,"模板的文件的路径“,{数据})
redirect("URL")
HttpResponse(字符串)
4.模板语言
render(request,"模板文件路径”,{“obj”:123})
取单值{{ obj}}
取类表,{{obj.name}}
取字典
{% for i in dic%}
<span>{{i.value}}</span>
{%endfor%}
{% for i in dic.keys%}
<span>{{i}}</span>
{%endfor%}
{% for i in dic.values%}
<span>{{i}}</span>
{%endfor%}
{% for k,v in dic.items%}
<span>{{k}}-{{v}}</span>
{%endfor%}
5、ORM
a.创建类,字段
class User(models.Model):
age=models.IntergerFiled()
name=models.CharField(max_length=12) 字符长度
python manage.py makemigrations
python manage.py migrate
#settings.py 实例,注册APP01
b、操作
增
3个方式
1.models.User.objects.create(name="XXX",age=18)
dic={"name":"ooo","age":"20"}
2.models.User.objects.create(**dic)
3.obj=models.User(name="XXX",age=18)
obj。save()
删
models.User.objects.filter(id=1).delete()
改
models.User.objects.filter(id_gt=1).update(age=100)
dic={"name":"aa","age"="1"}
models.User.objects.filter(id_gt=1).update(**dic)
查
models.User.objects.filter(id=1,name=“root")
models.User.objects.filter(id__gt=1)
models.User.objects.filter(id__lt=1)
models.User.objects.filter(id__gte=1)
models.User.objects.filter(id__lte=1)
dic={"name":"aa","age"="1"}
models.User.objects.filter(**dic)
外键:
class UserType(models.Model):
caption=models.CharField(max_length=32)
#1.普通用户
#2.VIP 用户
#3.游客
class User(models.Model):
age=models.IntergerFiled()
name=models.CharField(max_length=32)
user_type_id=models.IntergerFiled() #约束
外键约束 ,Foreignkey("表明“,to_field="id" on_delete=models.CASE)
user_type=models.Foreignkey("user_type",to_fi)
在数据库存储的时候
name age ,user_type_id(外键) 数据库中的字段

浙公网安备 33010602011771号