If upload_to parameter of FileField is set, the name attribute of File model contains a slash. Since this is relative path on the filesystem, on Windows this is a backward slash (\). This may not be a problem, however, it is passed unchanged to url() and the resulting file URL contains a mix of forward and backward slashes. When using URL_METHOD_2, it is even escaped.