1. A computer implemented method for generating a digital image template, the method comprising: identifying a primary image file, wherein the primary image file is stored on a computer accessible medium and the primary image file is associated with primary image attribute information; selecting, by a processor, a digital template based on its similarity with the primary image attribute information corresponding to the primary image file, wherein the digital template has attributes associated therewith, wherein the digital template includes a plurality of digital windows including a primary window and at least one secondary window, wherein the primary window has associated therewith required image attributes that are satisfied by the primary image attribute information for disposing therein the primary image from the primary image file, wherein the at least one secondary window has associated therewith required image attributes that are dependent on the primary image attribute information and the attributes associated with the selected digital template for disposing therein at least one secondary image; and selecting, by the processor, at least one secondary image file to be displayed together with the primary image file, wherein each of the at least one secondary images has corresponding secondary image attribute information; and disposing the at least one secondary image from the secondary image file in the at least one secondary window in the selected digital template; wherein selecting the at least one secondary image file comprises analyzing the primary image attribute information and the at least one secondary image attribute information and selecting the at least one secondary image based at least upon the secondary image attribute information being similar to the primary image attribute information and the attributes associated with the selected digital template.