<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      今日重點(diǎn)

      CBV(class base views)
      ModelForm
      權(quán)限-rbac-(role-based access control)
      admin組件 

      課堂筆記

      1 CBV
        看源碼
        
        url("login",views.LoginView.as_view()) 
        
      
        views.LoginView.as_view()=view
        一旦用戶訪問(wèn)login:  view(request)===dispatch(request)====self.get(request)
      
        
      2 ModelForm:
         
          forms組件:
                  class BookForm(forms.Form):
                      title=forms.CharField()
                      price=forms.DecimalField()
                      publishDate=forms.DateField()
      
                      #state=forms.ChoiceField(choices=[(1,"已出版"),(2,"未出版")])
                      publish=forms.ModelChoiceField(queryset=Publish.objects.all())
                      authors=forms.ModelMultipleChoiceField(queryset=Author.objects.all())
          
          
          modelForm:
          
                  model:    
                  class Book(models.Model):    
                      title = models.CharField( max_length=32)
                      publishDate=models.DateField()
                      price=models.DecimalField(max_digits=5,decimal_places=2)
      
                      # 與Publish建立一對(duì)多的關(guān)系,外鍵字段建立在多的一方
                      publish=models.ForeignKey(to="Publish",to_field="nid",on_delete=models.CASCADE)
                      # 與Author表建立多對(duì)多的關(guān)系,ManyToManyField可以建在兩個(gè)模型中的任意一個(gè),自動(dòng)創(chuàng)建第三張表
                      authors=models.ManyToManyField(to='Author',)
      
                  ####################################
                  from django.forms import ModelForm
      
      
                  class BookModelForm(ModelForm):
                      class Meta:
                          model=Book
                          fields="__all__"
      
                  ####################################
      
      
      
                  class BookForm(forms.Form):
                      title=forms.CharField()
                      price=forms.DecimalField()
                      publishDate=forms.DateField()
      
                      #state=forms.ChoiceField(choices=[(1,"已出版"),(2,"未出版")])
                      publish=forms.ModelChoiceField(queryset=Publish.objects.all())
                      authors=forms.ModelMultipleChoiceField(queryset=Author.objects.all())
                      
              ####################################
              
              
              
              addBook:
                   def addbook():
                       if get請(qǐng)求:
                          form=BookModelForm()
                          return render(request,"addbook.html",locals()) # 標(biāo)簽渲染 {{form.as_p}}
              
                      if post請(qǐng)求:
                      
                         form=BookModelForm(request.POST) 
                         if form.is_valid():
                             form.save() # create操作
                             
              editBook:
                  def editbook():
                      if get請(qǐng)求:
                          editbook=Book.objects.get(pk=id)
                          form=BookModelForm(instance=editbook)
                          return render(request,"addbook.html",locals()) # 標(biāo)簽渲染 {{form.as_p}}
              
                      if post請(qǐng)求:
                         editbook=Book.objects.get(pk=id)
                         form=BookModelForm(request.POST,instance=editbook) 
                         if form.is_valid():
                             form.save() # update操作
                             
              
              
              
      CRM:
      
      
      1 權(quán)限
        
        什么是權(quán)限?  一個(gè)包含正則表達(dá)式的url就是權(quán)限
        who         what     how 
        wenzhou    訂單表    查看
        
        
        
       
        
        版本一:
        
              UserInfo
              
              id   name  age  
              1    alex1  33
              2    alex2  33
              3    alex3  33
              4    alex4  33
              5    alex5  33
              6    alex6  33
              7    alex7  33
              8    alex8  33
              9    alex9  33
              10   alex10  33
              
              
              
              permission
              
              id   title         url 
               1  查看訂單     /orders/
               2  添加訂單     /orders/add/
               3  查看客戶     /customers/
               4  添加客戶     /customers/add
              
              UserInfo-permission
              
              id    userinfo_id  permission_id
              1         1             1
              2         1             2
              3         1             3
              4         1             4
              
          
              
              
              
          版本二:
          
              模型:rbac(role-based access control)      
        
        
              UserInfo
              
              id   name  age  
              1    alex1  33
              2    alex2  33
              3    alex3  33
              4    alex4  33
              5    alex5  33
              6    alex6  33
              7    alex7  33
              8    alex8  33
              9    alex9  33
              10   alex10  33
            
            
            
           
             role
             
             id   name
             1   管理員
             2   CEO
             3   銷(xiāo)售
             4   講師
             
             
             UserInfo-role
             
             id  userinfo_id   role_id
             1      1            3   
             1      2            3   
             1      3            3   
             1      4            3   
             1      5            3   
             
             
             
             
             
             
             
             
             permission
              
              id   title         url           
               1  查看訂單     /orders/
               2  添加訂單     /orders/add/
               3  查看客戶     /customers/
               4  添加客戶     /customers/add
               5  編輯客戶     /customers/(\d+)/change
      
      
             permission-Role
             
                id     role_id    permission_id 
                 1         3            1           
                 2         3            2           
                 3         3            3           
                 4         3            4          
               
               
               
          權(quán)限:
              login:
                    注冊(cè)session(查詢)
              
              中間件:
                    # 白名單校驗(yàn)(正則)
                    # 登錄校驗(yàn)
                    # 權(quán)限校驗(yàn)
               
                        
      
      2 admin組件
          Django后臺(tái)數(shù)據(jù)庫(kù)管理工具(web頁(yè)面)
          目的:
              1 使用組件
              2 看源碼
              3 自己獨(dú)立開(kāi)發(fā)一個(gè)類(lèi)似組件
              
                  
          1 使用組件admin
          
            一旦注冊(cè)Book:
               url:
                 查看書(shū)籍: http://127.0.0.1:8007/admin/app01/book/
                 添加書(shū)籍   http://127.0.0.1:8007/admin/app01/book/add/
                 編輯書(shū)籍: http://127.0.0.1:8007/admin/app01/book/1/change/
                 刪除書(shū)籍: http://127.0.0.1:8007/admin/app01/book/1/delete/
                 
                
          
      今日作業(yè):
          1 權(quán)限的菜單欄
          2 單例模式
      
      
      https://www.rzrgm.cn/yuanchenqi/articles/8323452.html
      https://www.rzrgm.cn/yuanchenqi/articles/8715364.html
      
      
      3 crm
        ---客戶表管理
        ---學(xué)生以及學(xué)習(xí)記錄的管理

       

      CBV

      FBV(function base views) 就是在視圖里使用函數(shù)處理請(qǐng)求。

      CBV(class base views) 就是在視圖里使用類(lèi)處理請(qǐng)求。

      cbv-->restful風(fēng)格接口-->restframework
       
      Python的pep8-代碼規(guī)范
      http協(xié)議支持的請(qǐng)求方式:
      1.get請(qǐng)求:查詢
      2.post請(qǐng)求:提交數(shù)據(jù)(添加記錄)
      3.delete請(qǐng)求:刪除數(shù)據(jù)
      4.put/patch:更新數(shù)據(jù)

      視圖類(lèi)

       

      url路由工作過(guò)程

      重寫(xiě)dispatch,不論get還是post請(qǐng)求都會(huì)執(zhí)行

       

       

      ModelForm

      回顧Forms組件

      http://www.rzrgm.cn/yuanchenqi/articles/9036474.html

      modelform比f(wàn)orm功能強(qiáng)大
      form組件除了校驗(yàn),別的都干不了

      form組件,多選項(xiàng)

       

      ModelForm-views.py

      class Add

      add.html

      class edit

      ModelForm-models.py

       

      modelform只有編輯頁(yè),添加頁(yè),才有意義 

      權(quán)限

      url地址權(quán)限校驗(yàn),嚴(yán)格限制頭和尾

       

      url登錄校驗(yàn),每一個(gè)url都應(yīng)該校驗(yàn)用戶有無(wú)權(quán)限訪問(wèn)
      不可能每個(gè)url視圖都寫(xiě)一遍校驗(yàn)代碼
      解決辦法:寫(xiě)中間件。

       

      permissionValid.py

      校驗(yàn)權(quán)限的中間件需要放過(guò)一些URL,如login

       

      admin組件

      admin.py
      通過(guò)admin添加表,相當(dāng)于navicat

       

       

      參考:

      Django-admin管理工具

       

      posted on 2018-06-03 22:48  浮槎北溟  閱讀(177)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲国产成人精品女人久久久| 日本阿v片在线播放免费| 99久久机热/这里只有精品| 日韩人妻一区中文字幕| 亚洲成人av综合一区| 亚洲精品97久久中文字幕无码| 丰满少妇呻吟高潮经历| 国产欧美日韩亚洲一区二区三区| 少妇撒尿一区二区在线视频| 中文字幕乱码中文乱码毛片| 国产精品一区二区日韩精品| 一卡2卡三卡4卡免费网站| 亚洲人成网线在线播放VA| 亚洲岛国av一区二区| 亚洲中文字幕av天堂| 激情综合色综合啪啪开心| 无码人妻一区二区三区四区AV| 国产不卡在线一区二区| 麻豆一区二区三区精品视频| 中国亚洲女人69内射少妇| 国产精品一线天在线播放| 国语精品一区二区三区| 99精品国产成人一区二区| 亚洲av日韩av综合在线观看| 临高县| 国产一区精品综亚洲av| 五月综合婷婷久久网站| 亚洲禁精品一区二区三区| 暖暖视频日本在线观看| 开心五月婷婷综合网站| 亚洲高潮喷水无码AV电影 | 亚洲欧美人成电影在线观看| 国产老熟女一区二区三区| 暖暖影院日本高清...免费| 亚洲成人一区| 国产精品大全中文字幕| 亚洲精品区二区三区蜜桃| 中国女人熟毛茸茸A毛片| 亚洲国产在一区二区三区| 色偷偷www.8888在线观看| 亚洲av午夜成人片|