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(外键)  数据库中的字段
   

posted @ 2018-07-19 15:51  东郭仔  阅读(93)  评论(0)    收藏  举报