Django-중의 FBV 와 CBV.

4817 단어 Django
원본 링크:https://www.cnblogs.com/weiman3389/p/6896624.html
django 에서 요청 처리 방식 은 2 가지 가 있 습 니 다.FBV 와 CBV 입 니 다.
 
FBV
FBV(function base views) 보기 에서 함수 처리 요청 을 사용 하 는 것 입 니 다.
코드 보기:
urls.py
1
2
3
4
5
6
7
8 from django.conf.urls import url, include # from django.contrib import admin from mytest import views
  urlpatterns = [      # url(r‘^admin/‘, admin.site.urls),      url(r‘^index / ‘, views.index), ]
views.py
1
2
3
4
5
6
7
8
9 from django.shortcuts import render
 
  def index(req):      if req.method = = ‘POST‘:          print (‘method is :‘ + req.method)      elif req.method = = ‘GET‘:          print (‘method is :‘ + req.method)      return render(req, ‘index.html‘)
함수[def index(req):]를 정의 합 니 다.
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13 = "en" >
     = "UTF-8" >      index< / title> < / head>
    
= " " method=" post">          < input type = "text" name = "A" / >          < input type = "submit" name = "b" value = " " / >      < / form> < / body> < / html>
위 가 바로 FBI 의 사용 이다.
CBV
CBV(class base views) 보기 에서 클래스 처리 요청 을 사용 하 는 것 입 니 다.
위 코드 의 urls.py 를 다음 과 같이 수정 합 니 다.
1
2
3
4
5
6 from mytest import views
  urlpatterns = [      # url(r‘^index/‘, views.index),      url(r‘^index / ‘, views.Index.as_view()), ]
주:url(r'^index/', views.Index.as_view()),  고정 용법 입 니 다.
위 코드 의 views.py 를 다음 과 같이 수정 합 니 다.
1
2
3
4
5
6
7
8
9
10
11 from django.views import View
 
  class Index(View):      def get( self , req):          print (‘method is :‘ + req.method)          return render(req, ‘index.html‘)
       def post( self , req):          print (‘method is :‘ + req.method)          return render(req, ‘index.html‘)
계승 하 다 View,클래스 의 함수 이름 은 소문 자 여야 합 니 다.
 
두 가지 방식 은 우열 이 없어 모두 사용 할 수 있다.

좋은 웹페이지 즐겨찾기