def add_item(request): context = {} if request.method == 'GET': form = AddItemForm() context = { 'AddItemForm': form, } return render(request, 'funfly/add_item.html', context) elif request.method == 'POST': form = AddItemForm(request.POST, request.FILES) item_option = form.data['item_type'] if item_option == 'Ninegag': form.fields.pop('text_area') if form.data['source_url'] == '': form.fields.pop('source_url') elif item_option == 'Video': form.fields.pop('media_file') form.fields.pop('text_area') elif item_option == 'Joke': form.fields.pop('title') form.fields.pop('media_file') if form.is_valid(): if item_option == 'Ninegag': title = form.cleaned_data['title'] url = '' if 'source_url' in form.cleaned_data.keys(): url = form.cleaned_data['source_url'] imagevideo = request.FILES['media_file'] path = save_file(imagevideo, 'imagesandvideos/imageorvideos/') file_path, file_extension = os.path.splitext(path) if file_extension == '.png' or file_extension == '.jpg': is_video = False else: is_video = True if url: ninegag = Ninegag.objects.create(title=title, source_url=url, imagevideo_path=path, is_video=is_video) else: ninegag = Ninegag.objects.create(title=title, imagevideo_path=path, is_video=is_video) elif item_option == 'Video': title = form.cleaned_data['title'] source_url = form.cleaned_data['source_url'] youtube = Youtube.objects.create(title=title, url=source_url, date_added=datetime.today()) else: text = form.cleaned_data['text_area'] joke = Joke.objects.create(text=text) return redirect('add_item') else: context = {'AddItemForm': form} return render(request, 'funfly/add_item.html', context)