パイソン - ジャンゴ - FBVとCBV

FBV:

関数ベース・ビュー、ビューベースの機能

views.py:

django.shortcutsから、レンダリングのHttpResponseをインポート


#FBV 
:DEF(リクエスト)をアップロード
    request.method場合== "POST": ファイル名= request.FILES [ "upload_file"]名前
        オープン(ファイル名、 "WB")とFとして:
            request.FILES [ "upload_file"]でチャンクのチャンク():。
                f.write(チャンク)
        のリターンはHttpResponse( "上传OK")
    他:
        (要求、 "upload.html")をレンダリングを返します

urls.py:

django.conf.urlsからURLを読み込む
app01インポートビューから

[= urlpatterns 
    #FBV、URL(R '^アップロード/'、views.upload)
]

 

CBV:

クラスベースビュー、クラスベースのビュー

views.py:

HttpResponseと、からレンダリングdjango.shortcutsをインポート
CBVインポートビュー#インポートする必要がdjango.viewsから


#CBVの
アップロード(ビュー)クラス:
    #1 get関数が定義されている、GETリクエストを処理するために
    DEF(セルフ、要求)を取得:
        "、要求(レンダリングを返しますupload.html ")

    #POST要求を処理するためのポスト関数を定義
    DEFポスト(セルフ、要求):
        ファイル名= request.FILES [" upload_file "]。名
        :ASオープン(ファイル名、」有するWB")F 
            におけるチャンクのチャンクのrequest.FILES [ "upload_file"]されている():. 
                f.write(チャンク)
        のリターンはHttpResponse( "アップロードOK")

urls.py:

django.conf.urlsからURLを読み込む
app01インポートビューから

urlpatternsの= [ 
    #のURL(R '^アップロード/'、views.upload)、#FBVの
    URL(R '^アップロード/'、views.Upload.as_view())、 #CBV 
]

 

おすすめ

転載: www.cnblogs.com/sch01ar/p/11271682.html