def upload_file(request): if request.method == 'POST': form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): im = Image() im.model_pic = form.cleaned_data['file'] filename = '{0}{1}'.format( str( base64.b64encode( bytes(str(datetime.datetime.now().timestamp()), 'utf-8')))[2:-2], pathlib.Path(form.cleaned_data['file'].name).suffix) im.model_pic.name = filename x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ipaddress = x_forwarded_for.split(',')[-1].strip() else: ipaddress = request.META.get('REMOTE_ADDR') im.owner = None im.upload_ip_address = ipaddress im.lease = datetime.datetime.now().replace( microsecond=0) + datetime.timedelta( seconds=int(form.cleaned_data['expiration'].split(".")[0])) im.name = filename if form.cleaned_data['your_name'] == "": im.custom_name = None else: im.custom_name = form.cleaned_data['your_name'] im.save() for tag in request.POST.getlist('tagList'): tag = Tag(name=tag.split(":")[0], image=im) tag.save() return HttpResponseRedirect("/image/view/%s" % filename) else: form = UploadFileForm() return render(request, 'index.html', {'form': form})