Django類方式寫view


問題:

  Django官方教程中都是通過def函數方式來寫view,如何通過類方式寫view以及為何要通過類方式寫view?

那,如何解決這個問題?

  1. 用戶訪問瀏覽器,一般兩種方式,get獲取網頁和post提交數據,get也可以提交數據,以一種明文形式顯示在url中,post提交的數據url中不顯示,一種安全的數據提交方式,get方式提交數據一般應用於一些排序方式和類別過濾中,post用於用戶提交的表單數據,比較隱私的數據,get方式提交數據為小數據信息,而post方式提交數據可以是大數據信息
  2. 導入View基類
  3. 寫一個view類,繼承View基類,下面有兩個方法,get和post方法
  4. 在urls中通過類方法.as_view() 方式 調用這個view類
  5.  通過前端提交數據的方式,采用不同的方法,實現url復用,也就是或get和post共用一個url,如果函數方式寫view需要寫判斷提交方式邏輯,還有類實現了很好的封裝,而函數沒有,很容易被其他函數影響
__author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/'

# 導入View基類
from django.views.generic.base import View
# 導入模版渲染函數
from django.shortcuts import render


# 這個是用戶登錄的驗證類
class LoginView(View):
    """登錄驗證"""
    # get方式獲login頁面
    def get(self, request):
        
        return render(request, 'login.html', {})
    
    # 用戶提交表單,返回主頁
    def post(self, request):
        """提交表單"""
        return render(request, 'index.html', {})

  urls中,導入LoginView,調用.as_view方法

url(r'^login/$', LoginView.as_view(), name='login')

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM