面向对象基础
class Dog :
name = '狗子'
def run ( self) :
print ( '滚滚' )
def go ( ) :
print ( '....' )
dog = Dog( )
print ( getattr ( dog, 'name' ) )
function = getattr ( dog, 'run' )
function( )
function1 = getattr ( dog, 'run1' , go)
function1( )
CBV
class RegisterView ( View) :
a = 90
def get ( self, request) :
print ( self. a)
return HttpResponse( "GET" )
def post ( self, request) :
return HttpResponse( "POST" )
def put ( self, request) :
return HttpResponse( "PUT" )
def delete ( self, request) :
return HttpResponse( "DELETE" )
class ZTemplateView ( TemplateView) :
template_name = 'example.html'
def get_context_data ( self, ** kwargs) :
kwargs = super ( ) . get_context_data( ** kwargs)
kwargs[ 'name' ] = '弟弟'
kwargs[ 'title' ] = '臭'
return kwargs
class ZListView ( ListView) :
template_name = 'list.html'
paginate_by = 5
ordering = ( 'username' , )
def get_queryset ( self) :
dates = User. objects. filter ( uid__gt= 100 )
return dates
class ZDetail ( DetailView) :
template_name = 'detail.html'
queryset = User. objects. all ( )
context_object_name = 'user'
class ZCreateView ( CreateView) :
def get ( self, request, * args, ** kwargs) :
return render( request, 'list.html' )
def post ( self, request, * args, ** kwargs) :
dates = request. POST. dict ( )
dates. pop( 'csadoiansfoinurnorvbon' )
User. objects. create( ** dates)
return redirect( '/' )
def check_login ( func) :
def inner ( request, * args, ** kwargs) :
if request. session. get( 'username' ) :
return func( request, * args, ** kwargs)
return redirect( '/' )
return inner
@method_decorator( check_login, name= 'dispatch' )
class ZPublishView ( View) :
def get ( self, request, * args, ** kwargs) :
return HttpResponse( '文章展示' )
def post ( self, request, * args, ** kwargs) :
return HttpResponse( '发表文章' )